【发布时间】:2020-09-18 19:29:06
【问题描述】:
如何比较两个 Treeset 并在 java 中打印相同/不同的元素。
Set<Integer> aTreeSet = new TreeSet<>();
aTreeSet.add(3);
aTreeSet.add(1);
aTreeSet.add(2);
Set<Integer> bTreeSet = new TreeSet<>();
bTreeSet.add(3);
bTreeSet.add(5);
bTreeSet.add(4);
我想输出为 A 中缺少的元素:[1,2] B 中缺少元素:[5,4]
我尝试了以下方法,但没有按预期工作。
aTreeSet.removeAll(bTreeSet);
System.out.println(aTreeSet);//[1,2]
System.out.println(bTreeSet);//[3,4,5]
请帮帮我。
【问题讨论】:
-
这能回答你的问题吗? Getting the difference between two sets
-
您走在正确的轨道上,并且已经找到了一半的答案。
aTreeSet.removeAll(bTreeSet)修改aTreeSet(如链接 Q/A 中所述)。你需要运行bTreeSet.removeAll(original_aTreeSet)来获得你想要的。
标签: java collections compare