目录
一、概述
1.特点:
无序、无下标、元素不可重复。
2.方法:
全部继承自 Collection 中的方法。
二、Set接口的使用
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
/**
* 测试Set接口的使用
* 特点:无序 没有下标 不能重复
*/
public class Test {
public static void main(String[] args) {
//创建集合
Set<String> set = new HashSet<>();
//1.添加数据
set.add("苹果");
set.add("小米");
set.add("Vivo");
set.add("OPPO");
System.out.println("数据个数:"+set.size());
System.out.println(set.toString());
System.out.println("-----------------------");
//2.删除数据
set.remove("Vivo");
System.out.println(set.toString());
System.out.println("-----------------------");
//3.遍历
//(1)增强for
for (String string : set){
System.out.println(string);
}
System.out.println("-----------------------");
//(2)使用迭代器
Iterator<String> it = set.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
System.out.println("-----------------------");
//4.判断
System.out.println(set.isEmpty());
System.out.println(set.contains("OPPO"));
}
}
三、Set实现类
1.HashSet ***
基于HashCode实现元素不重复
当存入元素的哈希码相同时,会调用equals进行确认,如结果为true,则拒绝后者存入。
(1)简单应用:
↓ ↓ ↓ ↓
import java.util.HashSet;
import java.util.Iterator;
/**
* HashSet集合的使用
* 无序
* 存储结构:哈希表 (数组+链表+红黑树)
*/
public class Test {
public static void main(String[] args) {
//新建集合
HashSet<String> hashSet = new HashSet<String>();
//1.添加元素
hashSet.add("E");
hashSet.add("B");
hashSet.add("C");
hashSet.add("D");
hashSet.add("E"); //出现重复的,最后也只会显示一个