Set
Set与Map主要的不同有两点:Set是继承自Collection的接口类,Set中只存储了Key。
Set官方文档
纯 key 模型,比如:
- 有一个英文词典,快速查找一个单词是否在词典中
- 快速查找某个名字在不在通讯录中
方法 | 解释 |
---|---|
boolean add(E e) | 添加元素,但重复元素不会被添加成功 |
void clear() | 清空集合 |
boolean contains(Object o) | 判断 o 是否在集合中 |
Iterator iterator() | 返回迭代器 |
boolean remove(Object o) | 删除集合中的 o |
int size() | 返回set中元素的个数 |
boolean isEmpty() | 检测set是否为空,空返回true,否则返回false |
Object[] toArray() | 将set中的元素转换为数组返回 |
boolean containsAll(Collection<?> c) | 集合c中的元素是否在set中全部存在,是返回true,否则返回false |
boolean addAll(Collection<? extends E> c) | 将集合c中的元素添加到set中,可以达到去重的效果 |
HashSet
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
//往set集合里添加元素
set.add("Bob");
set.add("Tom");
set.add("Jack");
//注意重复的元素不会添加成功
set.add("Bob");
System.out.println(set);
//清空集合
set.clear();
System.out.println(set);
set.add("Bob");
set.add("Tom");
set.