相关资料:
https://www.jianshu.com/p/d6cff3517688
关于Set
Java集合由Collection接口和Map接口构成,而Collection接口又被Set和List继承。
对于Set来说,他不允许出现重复的元素,并且是无序的集合,主要分为HashSet、TreeSet两大类。
- HashSet:哈希表结构,通过计算插入元素的hashCode来获取它在集合中的位置
- TreeSet:红黑树结构,会对插入的元素进行排序
常用方法
函数名 | 描述 |
---|---|
boolean add(Object obj) | 向集合中添加元素,由于集合中元素不能重复,所以当向集合中加入重复元素时会返回false |
boolean remove(Object obj) | 将集合中的指定元素删除,若集合中不存在该元素,则返回false |
int size() | 获取集合中的元素个数 |
boolean isEmpty() | 判断集合是否为空 |
boolean contains(Object obj) | 判断集合中是否含有指定元素 |
基本操作
- 构造
import java.util.*;
Set<Integer> s1 = new HashSet<>();
Set<Character> s2 = new TreeSet<>();
- 添加/删除元素
s1.add(3);
s1.add(56);
s1.remove(3);
- 获取集合大小
int size = s1.size();
- 判断
boolean empty = s1.isEmpty(); //判断是否为空
boolean flag = s1.contains(56); //判断集合中是否有56这个元素
- 遍历
//for循环遍历
for(int i : s1){
//代码
}
-----------------------------------------------------------------------------------*
//迭代器遍历
Iterator<Integer> iterator = s1.iterator();
while(iterator.hasNext()){
int value = iterator.next();
//代码
}
若后续还有东西需要添加,会进行更新