1集合: Set(HashSet) 哈希赛特 Set接口特点,无序,唯一 ,哈希值,16位的地址值
ArrayList和Set(HashSet)数据容器的一种,
ArrayList: 有序不可重复,可以通过索引访问
Set(HashSet)无序不可重复, 无索引.
概念:Set是不包含重复元素的集合接口,其子类均无法存放相同的元素.最常用的子类是武勋不可重复的HashSet.
HashSet集合是无序的,其判断唯一的一句是元素类型的hashCode(Object内hashcode方法,可以返回对象的地址值,子类重写hashcode方法,是将该对象所有属性的hashCode值想加得到)与equals方法的返回结果.
规则: 先判断元素与集合内已经有的旧元素的HashCode值 (重写后,判断 属性值)
如果不同,则判断元素不同.
如果相同,再判断equals比较结果
所以HashSet 存储引用数据类型,需要重写HashCode与equals方法.
格式:hashSet<> 变量名 = new hashSet<>();
hashSet<int> i = new hashSet<int>();
i.add(1);
i.add(2);
打印结果:[1,2]
|
|