java 找出集合中的重复元素
时间: 2024-02-20 09:01:14 浏览: 126
要找出集合中的重复元素,可以使用 Java 中的 HashSet 和 ArrayList,具体步骤如下:
1. 新建一个 HashSet 对象,用于存放不重复的元素。
2. 新建一个 ArrayList 对象,用于存放重复的元素。
3. 遍历集合中的每一个元素,判断该元素是否已经存在于 HashSet 中。
4. 如果 HashSet 中已经存在该元素,则说明该元素是重复的,将其添加到 ArrayList 中。
5. 如果 HashSet 中不存在该元素,则将其添加到 HashSet 中。
6. 最后返回 ArrayList,即为集合中的重复元素。
以下是代码示例:
```java
import java.util.*;
public class FindDuplicateElements {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 2, 4, 5, 3, 6));
List<Integer> duplicates = findDuplicates(list);
System.out.println("Duplicate elements: " + duplicates);
}
public static <T> List<T> findDuplicates(Collection<T> collection) {
Set<T> set = new HashSet<>();
List<T> duplicates = new ArrayList<>();
for (T item : collection) {
if (set.contains(item)) {
duplicates.add(item);
} else {
set.add(item);
}
}
return duplicates;
}
}
```
以上代码会输出以下结果:
```
Duplicate elements: [2, 3]
```
注意:以上代码仅适用于简单类型的集合,如果集合中的元素是自定义类型,需要重写该类型的 equals 和 hashCode 方法。
阅读全文