1,定义
set接口及其实现类–HashSet
Set是元素无序且不可重复的集合,被称为集。
HashSet是哈希集,是Set的一个重要实现类
set中循环只能使用foreach和iterator这两个,而没有get()方法
set中无论添加某个对象多少次,最终只会保留一个该对象 的引用,并且保留的是第一次添加的那个。
set中add()、addAll()、remove()、removeAll()方法和List中使用方法一样
2,实现类
HashSet()
特点:
不能保证元素的排列顺序,顺序有可能发生变化。
另外HashSet不是同步的,如果多个线程同时访问一个Set,只要有一个线程修改Set中的值,就必须进行同步处理,通常通过同步封装这个Set的对象来完成同步,如果不存在这样的对象,可以使用Collections.synchronizedSet()方法完成。
Set s = Collections.synchronizedSet(new HashSet(…));
元素值可以是null。
3,遍历
//1.迭代遍历:Set set =new HashSet();
Iterator it = set.iterator();
while (it.hasNext()) {
String str = it.next();
System.out.println(str);
}
//2.for循环遍历:
for (String str : set) {
System.out.println(str);
}
注意:在对set集合成进行遍历的时候不能同时进行修改操作,比如删除,这样会导致崩溃。
网友评论