相关疑难解决方法(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万
查看次数

两张地图之间的差异

我需要非常有效地比较Clojure/Java中的两个映射,并返回由Java的.equals(..)确定的差异,其中nil/null等效于"not present".

即我正在寻找一种最有效的方式来编写如下函数:

(map-difference
  {:a 1, :b nil, :c 2, :d 3}
  {:a 1, :b "Hidden", :c 3, :e 5})

=> {:b nil, :c 2, :d 3, :e nil}
Run Code Online (Sandbox Code Playgroud)

我更喜欢不可变的Clojure映射作为输出,但如果性能提升很重要,Java映射也会很好.

对于它的价值,我的基本测试用例/行为期望是对于任何两个映射a和b,以下将是相等的(最多等于null ="Not present"):

a 
(merge b (difference a b))
Run Code Online (Sandbox Code Playgroud)

实现这个的最佳方法是什么?

java algorithm clojure hashmap

17
推荐指数
2
解决办法
9704
查看次数

标签 统计

java ×2

algorithm ×1

clojure ×1

hashmap ×1

performance ×1

set ×1