【发布时间】:2015-06-08 14:11:13
【问题描述】:
问题:
给定两个Collection<?>s,检查两者是否包含相同的元素。
- 假设集合的实际实现是未知的
- 假设元素的出现顺序不同
- 假设没有元素在同一个集合中出现两次
解决方案 1:
boolean equals = c1.containsAll(c2) && c2.containsAll(c1);
解决方案 2:
boolean equals = new HashSet<?>(c1).equals(new HashSet<?>(c2));
我会假设 Solution 2 比 Solution 1 更有效 (O(n)) (O(n^ 2)).
我是对的还是我遗漏了什么?
【问题讨论】:
标签: java performance collections