B站 韩顺平 老师课程的笔记

Set接口

基本介绍(实现Set接口的类的共性)

  1. 无序(添加和取出的顺序不一致,没有索引)
  2. 不允许有重复元素,所以最多包含一个null
  3. 实现接口的类很多,说明最常见的类
  4. Set接口可List都是Collection的子接口,很多公有部分的方法都可以使用,建议先看一遍集合

基本方法

以实现Set接口的类HashSet来演示Set接口的方法
只有两种遍历方法,因为没有索引

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public static void main(String[] args) {
Set set = new HashSet();
//展示不能存放重复元素,顺序会变化(只是和添加进去的顺序不同,但是每次取出的顺序不会变)
set.add("john");
set.add("lucy");
set.add("john");
set.add("jack");
set.add("mary");
set.add(null);
set.add(null);
System.out.println("set: " + set);//输出set: [null, mary, john, lucy, jack],看后面的输出会发现输出的顺序不会变

//遍历
//方式1:使用迭代器
System.out.println("==使用迭代器遍历==");
Iterator iterator = set.iterator();
while(iterator.hasNext()){
Object obj = iterator.next();
System.out.println("obj: " + obj);
}
//方式2:使用增强for(因为增强for的底层实现实际上还是迭代器)
System.out.println("==使用增强for遍历==");
for(Object obj : set){
System.out.println("obj: " + obj);
}
}

其他看文件集合

主要实现类

  1. HashSet
  2. LinkedHashSet