Set
LinkedHashset : 保证元素添加的自然顺序(正常添加顺序)(允许null存在一个)
TreeSet : 保证元素的自然顺序(Unicode编码顺序)(不允许null存在)
HashSet元素乱序(允许null存在一个)
不是线程安全(效率高)
//元素乱序
Set<Integer> set=new HashSet<>();
set.add(5);
set.add(4);
set.add(2);
set.add(3);
set.add(0);
set.add(6);
set.add(1);
//LinkedHashSet会保证元素的添加顺序
Set<Integer> set2=new LinkedHashSet<>();
set2.add(5);
set2.add(4);
set2.add(2);
set2.add(3);
set2.add(0);
set2.add(6);
set2.add(1);
//TreeSet按自然顺序 Unicode编码顺序
Set<Integer> set3=new TreeSet<>();
set3.add(5);
set3.add(4);
set3.add(2);
set3.add(3);
set3.add(0);
set3.add(6);
set3.add(1);
System.out.println(set);
System.out.println(set2);
System.out.println(set3);
[p, av, dsf, oi, ni, he, nm]
[5, 4, 2, 3, 0, 6, 1]
[0, 1, 2, 3, 4, 5, 6]