Set接口不包含重复元素并且最多只能包含一个null元素,且是无序的,有三类HashSet、TreeSet、
HashSet:实现原理是哈希表,只能有一个Null,不能保证恒久不变,排除同样元素是通过equal来实现的
数组+链表的实现为哈希表,HashSet不允许重置
TreeSet基于TreeMap的NavigableSet实现,使用元素的自然顺序对元素进行排序,或者根据创建set是提供的Comparator进行排序,具体取决于使用的构造方法,是二叉树的数据结构
LinkedHashSet:具有可预知迭代顺序大的Set接口的哈希表和链表实现,此实现与HashSet的不同之处在于后者维护着一个运行在所有条目的双重链接列表,此链表定义了迭代顺序