Set集合没有索引值,不能重复。 HashSet底层是哈希表,是无序的,新增顺序和获取的顺序不一定一致。 Set是不重复的 如果两个对象的哈希值相同并且地址值或equals比较相同就算是重复的。 顶级父类Object中有一个hashCode方法,是用来获取哈希值的。在自定义类中,如果认为成员变量的值相同就是同一个元素,在Set集合中只添加一次可以覆盖重写hashCode方法和equals方法。 Set集合之所以不重复就是因为Set集合中覆盖重写了hashCode方法和equals方法。