我在代码中使用了10个元素的ArrayList。我必须在代码运行的时候重复搜索它。它是一个对象的ArrayList,我必须访问和修改该对象的各个方面。 理论上,我想在一个周期中搜索一次。实施时我最终每周搜索5次。我怎样才能减少它?我想过哈希,但哈希并没有提供很多与对象元素一起玩的自由。
答案 0 :(得分:0)
首先,只搜索10个元素已经非常有效。例如,Clojure使用普通数组实现最多16个元素的哈希映射。
如果您计划扩展列表,则可以通过定义查找键来改进线性搜索,该键将在哈希表中使用。您可以根据需要改变哈希表中的值,甚至可以改变密钥对象,只要它不会更改有助于其等式定义的字段。