筛选 List集合中 证件号重复的数据
时间: 2024-04-11 11:27:26 浏览: 78
快速筛选重复数字或字符
3星 · 编辑精心推荐
你可以使用以下方法筛选出List集合中证件号重复的数据:
1. 创建一个空的HashSet来存储已经出现过的证件号码。
2. 创建一个新的List来存储重复的数据。
3. 遍历原始的List集合中的每个元素。
4. 对于每个元素,检查证件号码是否已经存在于HashSet中。
5. 如果存在,将该元素添加到重复数据的List中。
6. 否则,将证件号码添加到HashSet中表示已经出现过。
7. 完成遍历后,重复数据的List就包含了所有重复的数据。
下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Main {
public static void main(String[] args) {
List<String> dataList = new ArrayList<>();
dataList.add("123456789");
dataList.add("987654321");
dataList.add("123456789");
dataList.add("111222333");
dataList.add("555555555");
List<String> duplicates = findDuplicates(dataList);
System.out.println("重复的数据:");
for (String duplicate : duplicates) {
System.out.println(duplicate);
}
}
public static List<String> findDuplicates(List<String> dataList) {
List<String> duplicates = new ArrayList<>();
Set<String> uniqueSet = new HashSet<>();
for (String data : dataList) {
if (uniqueSet.contains(data)) {
duplicates.add(data);
} else {
uniqueSet.add(data);
}
}
return duplicates;
}
}
```
此示例代码中的dataList是包含证件号码的List集合。调用findDuplicates方法将返回包含重复数据的List集合。
阅读全文