Set学习
不能插入相同元素,若插入相同元素则返回false(其实插入不同的元素是会返回true的)
常见的方法:
|
No.
|
Method & Description
|
|
1
|
add( ) 向集合中添加元素
|
|
2
|
clear( ) 去掉集合中所有的元素
|
|
3
|
contains( ) 判断集合中是否包含某一个元素
|
|
4
|
isEmpty( ) 判断集合是否为空
|
|
5
|
iterator( ) 主要用于递归集合,返回一个Iterator()对象
|
|
6
|
remove( ) 从集合中去掉特定的对象
|
|
7
|
size( ) 返回集合的大小
|
1.HashSet——底层就是HashMap,存入的元素相当于HashMap的key,HashMap的value为常量,相当于只对Key进行处理。
-
不同步
-
不能保证元素的排列顺序,与添加顺序不同(存储顺序跟元素的hash值相关)
-
存入的值可以是null
没有get方法:只能通过迭代器的方法进行遍历。为什么HashMap有get方法而HashSet没有?看一下HashMap的get方法

其实HashMap的get方法也是遍历。
2.TreeSet——底层就是红黑树,默认排序为从小到大。也可以通过实现Comparable或Comparator接口实现自定义排序。
-
Comparator comparator(): 如果TreeSet采用了定制顺序,则该方法返回定制排序所使用的Comparator,如果TreeSet采用自然排序,则返回null;
-
Object first(): 返回集合中的第一个元素;
-
Object last(): 返回集合中的最后一个元素;
-
Object lower(Object e):返回指定元素之前的元素。
-
Object higher(Object e):返回指定元素之后的元素。
-
SortedSet subSet(Object fromElement,Object toElement):返回此Set的子集合,含头不含尾;
-
SortedSet headSet(Object toElement):返回此Set的子集,由小于toElement的元素组成;
-
SortedSet tailSet(Object fromElement):返回此Set的子集,由大于fromElement的元素组成;
Hash和Tree比较相同用的方法:
Hash是通过比较hash值的方式来比较两个元素是否相同,而Tree是通过元素内部的compareTo方法来比较的(这个方法需要继承compareable类并重写compareTo方法,一些包装类,例如Integer等都已经写好了这个方法)
作为码农中的一员,需要不断的学习,我学习之余将一些分析总结和学习笔记写成博客与大家一起交流,也希望采用这种方式记录自己的学习之旅。
本文仅供学习交流使用,侵权必删。
不用于商业目的,转载请注明出处。

浙公网安备 33010602011771号