如果我需要多次访问数组元素,如何减少对数组的搜索?

时间:2015-09-10 06:41:17

标签: java arrays hashmap hashtable

我在代码中使用了10个元素的ArrayList。我必须在代码运行的时候重复搜索它。它是一个对象的ArrayList,我必须访问和修改该对象的各个方面。 理论上,我想在一个周期中搜索一次。实施时我最终每周搜索5次。我怎样才能减少它?我想过哈希,但哈希并没有提供很多与对象元素一起玩的自由。

1 个答案:

答案 0 :(得分:0)

首先,只搜索10个元素已经非常有效。例如,Clojure使用普通数组实现最多16个元素的哈希映射。

如果您计划扩展列表,则可以通过定义查找键来改进线性搜索,该键将在哈希表中使用。您可以根据需要改变哈希表中的,甚至可以改变密钥对象,只要它不会更改有助于其等式定义的字段。