HashSet
HashSet:HashSet是Set接口的典型实现,大多数时候使用Set集合时都是用这个实现类,我们大多时候时候说的set集合指的都是HashSet
HashSet按照Hash算法来存储集合中的元素,以你具有很好的存取和查找性能.
HashSet具有以下特定:
- 不能保证元素的排列顺序(根据hashCoed值来排列)
- 不可重复
- HashSet不是线程安全的
- 集合元素可以使用null
当向HashSet集合中存入一个元素时,Hashset会调用该对象的HashCode()方法来得到该对象的hashCode值,然后根据hashCode值决定该对象在HashSet中的存储位置
Set set = new HashSet();//等价于Set<Object> set = new HashSet();
各种方法:
- add():添加
- remove():删除
- clear():清除hashSet真个列表
- contains():判断某元素是都在HashSet中
如何遍历HashSet:
Iterator it = set.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
//for each迭代集合,
for(Object obj:set){
System.out.println(obj);
}
查找HashSet的大小: set.size()
//如果想让集合只存同样的数据类型
//如果想让集合只存桶有的数据类型
//使用泛型
Set<String> set1 = new HashSet();
set1.add("1");
TreeSet
treeSet可以确保集合元素处于排序状态
TreeSet支持两周排序方法:自然排序和定制排序.默认情况下,TreeSet采用自然排序
Set set = new TreeSet();
遍历与hashSet相同.
Iterator it = set.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
//for each迭代集合,
for(Object obj:set){
System.out.println(obj);
}