Java验证集合中身份证号是否重复
介绍
在Java开发中,我们经常需要处理集合中的数据,其中一个常见的需求是验证集合中的身份证号是否重复。本文将教会你如何实现这一功能。
实现步骤
步骤 | 描述 |
---|---|
步骤一 | 创建一个包含身份证号的集合 |
步骤二 | 使用HashSet或HashMap来存储身份证号 |
步骤三 | 遍历集合,判断是否有重复的身份证号 |
步骤一: 创建一个包含身份证号的集合
首先,我们需要创建一个集合,用于存储身份证号。在示例中,我们使用ArrayList来存储身份证号。
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 创建一个集合
List<String> idCards = new ArrayList<>();
// 添加身份证号到集合
idCards.add("110101199001011234");
idCards.add("310101199001012345");
idCards.add("110101199001011234");
idCards.add("320101199001015678");
}
}
步骤二: 使用HashSet或HashMap来存储身份证号
接下来,我们需要使用HashSet或HashMap来存储身份证号,这样可以快速判断是否有重复的身份证号。HashSet只存储唯一值,而HashMap则将身份证号作为key存储,value可以是任意值。
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> idCards = new ArrayList<>();
// 添加身份证号到集合
idCards.add("110101199001011234");
idCards.add("310101199001012345");
idCards.add("110101199001011234");
idCards.add("320101199001015678");
// 使用HashSet存储身份证号
Set<String> uniqueIdCards = new HashSet<>(idCards);
}
}
步骤三: 遍历集合,判断是否有重复的身份证号
最后,我们需要遍历集合,判断是否有重复的身份证号。如果集合的大小与HashSet或HashMap中存储的身份证号数量不一致,则表示有重复的身份证号存在。
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> idCards = new ArrayList<>();
// 添加身份证号到集合
idCards.add("110101199001011234");
idCards.add("310101199001012345");
idCards.add("110101199001011234");
idCards.add("320101199001015678");
// 使用HashSet存储身份证号
Set<String> uniqueIdCards = new HashSet<>(idCards);
// 判断是否有重复的身份证号
boolean hasDuplicates = idCards.size() != uniqueIdCards.size();
if (hasDuplicates) {
System.out.println("集合中存在重复的身份证号");
} else {
System.out.println("集合中不存在重复的身份证号");
}
}
}
示例
下面是一个完整示例,展示了如何实现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> idCards = new ArrayList<>();
// 添加身份证号到集合
idCards.add("110101199001011234");
idCards.add("310101199001012345");
idCards.add("110101199001011234");
idCards.add("320101199001015678");
// 使用HashSet存储身份证号
Set<String> uniqueIdCards = new HashSet<>(idCards);
// 判断是否有重复的身份证号
boolean hasDuplicates = idCards.size() != uniqueIdCards.size();
if (hasDuplicates) {
System.out.println("集合中存在重复的身份证号");
} else {