我正在尝试优化一段比较列表元素的代码.
例如.
public void compare(Set<Record> firstSet, Set<Record> secondSet){
for(Record firstRecord : firstSet){
for(Record secondRecord : secondSet){
// comparing logic
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,套装中的记录数量会很高.
谢谢
谢卡尔
所述Collection.contains()方法检查如果一个集合包含一个给定的对象,使用该.equals()
方法来执行比较.
来自Java7 Javadoc:
boolean contains(Object o)
如果此collection包含指定的元素,则返回true.更正式地,当且仅当此集合包含至少一个元素e时才返回true(o == null?e == null:o.equals(e)).
有没有一种聪明的方法来检查集合是否包含一个对象o
,而是通过引用进行比较(即o==e
)?
当然,我可以遍历集合并进行检查,我正在寻找可以做到这一点的现有功能.
澄清:
equals()
集合中对象的实现如何,我都想执行此操作.编辑:
即使我的问题是关于实现的一般解决方案,也可以理解子接口的Collection
特定情况Collection
.