一个不包含重复元素的collection。
底层数据结构是哈希表和链表
概述:底层数据结构式哈希表,
线程不安全,效率高
LinkedHashSet set1 = new LinkedHashSet<>();
//添加元素到集合
set1.add('hello');
set1.add('world');
set1.add('java');
set1.add('bigdata');
set1.add('hello');
//遍历
for(String s : set1){
System.out.println(s);
}
结果
hello
world
java
bigdata
使用元素的自然顺序对元素进行排序或者根据创建set时提供的Comparator进行排序具体取决于使用的构造方法,定义的TreeSet是无参构造则是自然排序,若定义的是有参构造则是比较器排序。
利用子类Hashset去实现set接口
Set set1 = new HashSet<>();
//向集合中添加元素
set1.add('hello');
set1.add('world');
set1.add('java');
set1.add('bigdata');
set1.add('hello');
//遍历,结果是无序的去重的。
for(String s : set1){
System.out.println(s);
}
集合中会不会去重取决于元素类有没有重写hashCode()方法和equals()方法
哈希表保证元素的唯一
特点:元素唯元素可以按照某种规则进行排序
概述:继承HashSet,实现了Set接口
TreeSet接口
概述
Set集合:元素是唯一的,并且元素的顺序是无序的集合
自然排序:无参构造,自定义类实在Comparable接口,重写Comparato方法,在Comparato方法中自定义规则。
比较器排序:利用TreeSet创建对象时的带参数的构造方法来进行比较器排序TreeSet(Comparatorcomparator)
链表保证了元素的有序
文章为作者独立观点,不代表股票交易接口观点