高效找出一个list中相同的和不同的元素Java
时间: 2023-06-03 17:02:01 浏览: 105
java计算同一个list中是否有相同的值
5星 · 资源好评率100%
你好,这是一个技术问题,我可以回答。
要找出一个列表中相同和不同的元素,可以使用Java中的HashSet。
1. 首先,将列表中的元素添加到两个HashSet中,一个用于存储相同的元素,另一个用于存储不同的元素。
2. 遍历原始列表中的每个元素,判断该元素是否存在于相同元素的HashSet中。如果是,则将其添加到该HashSet中,否则将其添加到不同元素的HashSet中。
3. 最后,打印出相同和不同元素的列表。
以下是Java代码示例:
```
List<String> list = Arrays.asList("apple", "banana", "cherry", "cherry", "date", "date");
Set<String> same = new HashSet<>();
Set<String> different = new HashSet<>();
for (String s : list) {
if (!same.add(s)) {
different.add(s);
}
}
same.forEach(System.out::println); // 输出 "date" 和 "cherry"
different.forEach(System.out::println); // 输出 "apple" 和 "banana"
```
希望能对你有所帮助。
阅读全文