文章目录
1:集合体系图
Collection:单列集合,该接口有两个重要的子接口List Set,他们的实现子类都是单列集合
Map:双列集合,Map接口的实现子类,存放K-V
2:Set接口和常用方法
Set接口基本介绍
1)无序(添加和取出的顺序不一致)没有索引(没有get方法,所以也没有普通for循环遍历)
2) 不允许重复元素,所以最多包含一个null
3) JDK API中Set接口的实现类有:
Set接口的常用方法
和List接口一样,Set接口也是Collection的子接口,因此,常用方法和Collection接口一样.
Set接口的遍历方式
同Collection的遍历方式一样,因为Set接口是Collection接口的子接口。
1.可以使用迭代器
2.增强for
3.不能使用索引的方式来获取.
案例演示
public class SetMethod {
public static void main(String[] args) {
//注意:取出的顺序虽然不是添加的顺序,但是它是固定的
Set hashSet = new HashSet();
hashSet.add("zlj");
hashSet.add("zlj");
hashSet.add("zzz");
hashSet.add(null);
hashSet.add(null);
System.out.println("hashSet="+hashSet);
System.out.println("=======Iterator遍历==========");
Iterator iterator = hashSet.iterator();
while (iterator.hasNext()) {
Object next = iterator.next();
System.out.println("hashSet="+next);
}
System.out.println("=======增强for循环遍历==========");
for (Object object:hashSet){
System.out.println("hashSet="+object);
}
}
}
hashSet=[null, zlj, zzz]
=======Iterator遍历==========
hashSet=null
hashSet=zlj
hashSet=zzz
=======增强for循环遍历==========
hashSet=null
hashSet=zlj
hashSet=zzz
3:HashSet全面说明
-
HashSet实现了Set接口
-
HashSet实际上是HashMap
public HashSet() {
map = new HashMap<>(