相关疑难解决方法(0)

在Java中比较两个集合的最快方法是什么?

我正在尝试优化一段比较列表元素的代码.

例如.

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)

请注意,套装中的记录数量会很高.

谢谢

谢卡尔

java performance set

91
推荐指数
6
解决办法
16万
查看次数

检查集合是否包含对象,按引用进行比较

所述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.

java collections

28
推荐指数
2
解决办法
4万
查看次数

标签 统计

java ×2

collections ×1

performance ×1

set ×1