set集合的特点
A:存储集合的顺序与取出集合的顺序不一致
B:没有索引
C:没有重复存储集合的元素
set接口的实现是常用的HashSet和TreeSet类。语法格式如下:
Set<String> set1 = new HashSet<String>();
Set<String> set2 = new TreeSet<String>();
1.HashSet的使用
public class HashSetDemo {
public static void main(String[] args) {
//创建集合对象
HashSet<Student> hs = new HashSet<Student>();
//创建元素对象
Student s = new Student("zhangsan",18);
Student s2 = new Student("lisi",19);
Student s3 = new Student("lisi",19);
///添加元素对象
hs.add(s);
hs.add(s2);
hs.add(s3);
//遍历集合对象
for (Student student : hs) {
System.out.println(student);
}
}
}
2.HashSet唯一性原理
规则:新添加HashSet集合元素将逐一与集合中现有元素进行比较
首先比较哈希值(每个元素都会被调用)hashCode()产生哈希值)
如果新添加的元素与集合中现有元素的哈希值不同,则将新添加的元素存储在集合中
如果新添加的元素与现有元素的哈希值相同,则此时需要调用equals(Object obj)比较
如果equals(Object obj)方法返回true,说明新添加的元素与集合中现有元素的属性值相同,因此新添加的元素不存储在集合中
如果equals(Object obj)方法返回false, 说明新添加的元素与集合中现有元素的属性值不同, 然后将新添加的元素存储在集合中
今天的文章就分享到这里,如果你也网赚副业项目感兴趣,可以添加 维信:beng6655 备注:副业!
如若转载,请注明出处:https://www.haoxue2.com/4452.html