集合-2
1. 常用Set集合
1.1 Set集合的特点
Set接口下的集合都会有以下特点
- 不能存储重复元素
- 没有索引
1.2 HashSet
HashSet集合的特点
- 底层数据结构是哈希表
- 存储元素的顺序和遍历获取出来的顺序可能不一致
- 没有索引
- 集合中不能存储重复元素
1.2.1 创建对象
HashSet<元素数据类型> set = new HashSet<>();
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
}
1.2.2 常用方法
boolean add(E e) //添加元素,如果元素添加不成功 返回值代表是否添加成功, boolean remove(Object o) //删除元素 ,返回值代表删除元素是否成功 boolean contains(Object o) //判断元素是否存在 int size() //获取集合的大小
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
//添加元素
boolean f = set.add("三");
set.add("更");
set.add("草");
set.add("堂");
boolean f2 = set.add("三");
//删除元素
boolean f3 = set.remove("三");
boolean f4 = set.remove("三");
//判断元素是否存在
boolean f5 = set.contains("更");
//获取集合的大小
int size = set.size();
}
1.2.3 遍历
1.转换为数组遍历
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
set.add("三");
set.add("更");
set.add("草");
set.add("堂");
String[] strings = set.toArray(new String[0]);
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}
}
2.使用迭代器遍历
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
set.add("三");
set.add("更");
set.add("草");
set.add("堂");
Iterator<String> it = set.iterator();
while (it.hasNext()){
String s = it.next();
System.out.println(s);
}
}
3.foreach遍历
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
set.add("三");
set.add("更");
set.add("草");
set.add("堂");
for (String s : set) {
System.out.println(s);
}
}