1.哈希表和链接表实现;
2.维护者一个运行于所有条目的双重链接列表,此链接列表定义了迭代顺序,即按照将元素插入到set中的顺序进行迭代遍历;
3.按插入顺序迭代;
4.可以重复
private static void LinkedHashSet(){
LinkedHashSet<Student> linkedHashSet=new LinkedHashSet<>();
linkedHashSet.add(new Student("小明",2));
linkedHashSet.add(new Student("小刚",1));
linkedHashSet.add(new Student("小玩",1));
linkedHashSet.add(new Student("小玩",1));
System.out.println(linkedHashSet.size());
for (Student s:linkedHashSet){
System.out.println(s);
}
}
class Student{
private String name;
private int age;
public Student(String n,int a){
this.name=n;
this.age=a;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
1.如果要排序,选择TreeSet;
2.如果不要排序,也不用保证顺序,选择HashSet;
3.不要排序,但要保证顺序,选择LinkedHashSet;
本章对Set集合进行了一个选择性比较,并介绍了一种新的Set集合LinkedHashSet,开发时可以选择性的使用;
有哪里不足或者有更好的建议,欢迎留言吐槽,有哪里不懂的小伙伴,可以私信我,我会一一答复,感谢认可,感谢支持!