性能方面,使用之间真的有很大区别吗:
- ArrayList.contains(o) 与 foreach|iterator
- LinkedList.contains(o) 与 foreach|iterator
当然,对于 foreach|iterator 循环,我必须显式比较方法并相应地返回 true 或 false。
我正在比较的对象是一个对象,其中equals()
and hashcode()
两者都被正确覆盖。
EDIT:毕竟不需要了解 containsValue,对此感到抱歉。是的,我很愚蠢......我意识到我的关于 containsKey 与 foreach 的问题是多么愚蠢,没关系,我不知道我在想什么。我基本上想了解上面的内容(编辑掉其他内容)。
EDITED:
随着问题的新形式不再包括HashMap和TreeMap,我的答案完全不同了。我现在说no.
我确信其他人已经回答了这个问题,但是在 LinkedList 和 ArrayList 中, contains() 只是调用 indexOf() ,它会迭代集合。
LinkedList 和 ArrayList 之间以及 contains 和 foreach 之间可能存在微小的性能差异,没有任何差异big差异。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)