题目描述
给定一个整数数组,判断是否存在重复元素。
如果任意一值在数组中至少出现两次,函数返回 true。如果数组中每个元素都不相同,则返回false。
思路
参考:https://blog.csdn.net/liuhangsheng/article/details/79535356
https://github.com/CyC2018/CS-Notes/blob/master/notes/Leetcode%20%E9%A2%98%E8%A7%A3%20-%20%E5%93%88%E5%B8%8C%E8%A1%A8.md
利用 HashSet 去重
HashSet不能添加重复的元素,当调用add(Object)方法时候,
- 首先会调用Object的hashCode方法判hashCode是否已经存在,如不存在则直接插入元素;
- 如果已存在则调用Object对象的equals方法判断是否返回true,如果为true则说明元素已经存在,如为false则插入元素。
然后判断 set 集合的长度(set.size()) 是否小于 数组的长度,小于则返回true,说明有重复元素。