无序性:无序性不等于随机性,存储的数据在底层数组中并非按照数组索引的顺序添加,而是根据数据的hash值决定的
不可重复性:保证添加的元素按照equals方法判断时,不能返回true,即相同的元素只能添加一个
必须重写hashCode 和 equals 方法
LinkedHahsSet
作为HashSet的子类,在添加数据的同时,每个数据还维护了两个引用,记录前一个和后一个数据
对于频繁的遍历操作,效率比HashSet效率高
TreeSet 按照添加的数据进行排序
一,自然排序
1.TreeSet里必须都是相同类型的对象
2.自定义类要实现Comparable,重写comparto方法
二,定制排序
Comparator com=new Comparator() { @Override public int compare(Object o1, Object o2) { return 0; } }; TreeSet ts=new TreeSet(com);