方式一
public static boolean containsDuplicate(int[] nums) {
// 创建一个 HashMap 对象,用于存储数组元素和它们的出现次数
HashMap<Integer, Integer> map = new HashMap<>();
// 遍历数组中的每个元素
for (int num : nums) {
// 如果 HashMap 中已经包含当前元素,表示出现重复,返回 true
if (map.containsKey(num)) {
return true;
} else {
// 否则,在 HashMap 中添加当前元素及其出现次数
map.put(num, num);
}
}
// 遍历完整个数组后仍未发现重复,返回 false
return false;
}
执行结果
![](https://i-blog.csdnimg.cn/blog_migrate/498d480eae748e13691a729ed9dbeefd.png)
方式二
public static boolean containsDuplicate1(int[] nums) {
// 创建一个 HashSet 对象,用于存储数组元素,保证元素的唯一性
HashSet<Integer> set = new HashSet<>();
// 遍历数组中的每个元素
for (int key : nums) {
// 如果向 HashSet 中添加元素失败,表示已存在,即出现重复,返回 true
if (!set.add(key)) {
return true;
}
}
// 遍历完整个数组后仍未发现重复,返回 false
return false;
}
执行结果
![](https://i-blog.csdnimg.cn/blog_migrate/3ad4473189b96340a05154d44cf3fb56.png)