set特点:无序,唯一
HashSet
- 采用Hashtable哈希表存储结构(神奇的结构)
- 优点:添加速度快查询速度快删除速度快
- 缺点:无序
LinkedHashSet
- 采用哈希表存储结构,同时使用链表维护次序
- 有序(添加顺序)
TreeSet
- 采用二叉树(红黑树)的存储结构
- 优点:有序(大小顺序)查询速度比List快(按照内容查询)
- 缺点:查询速度没有HashSet快
二叉排序树:左子树<根<右子树
二叉平衡树:首先是排序树,左右子树高度差不超过1
set的遍历
- for-each
- Iterator
- 3.不能使用for循环, 因为没有get(i)
set与list区别
set相比Collection并没有增加方法
但是List相比Collection增加了一些和索引相关的方法
- add(i, elem)
- remove (i)
- set(i. elem)
- get(i)