Set集合
查看API文档:
特点:存储的数据无序、不可重复
无序是指存储的顺序与添加的顺序可能不一样
演示代码:
package cn.wen;
import java.util.HashSet;
import java.util.Set;
/*
* Collection
* |--List
* 有序(存储顺序和取出顺序一致),可重复
* |--Set
* 无序(存储顺序和取出顺序不一致),唯一
*
* HashSet:它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。
* 注意:虽然Set集合的元素无序,但是,作为集合来说,它肯定有它自己的存储顺序,
* 而你的顺序恰好和它的存储顺序一致,这代表不了有序,你可以多存储一些数据,就能看到效果。
*/
public class SetDemo {
public static void main(String[] args) {
// 创建集合对象
Set<String> set = new HashSet<String>();
// 创建并添加元素
set.add("hello");
set.add("java");
set.add("world");
set.add("java");
set.add("world");
// 增强for
for (String s : set) {
System.out.println(s);
}
}
}
演示过程实现如图:
1、无序
2、不重复
小练习:
代码如下:
package cn.wen;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
/**
* Set集合特点:
* 无序,不可重复
*
*/
public class Test01 {
public static void main(String[] args) {
//1)创建Set集合
Set<String> set = new HashSet<>();
//2)添加元素
set.add("666");
set.add("wkcto");
set.add("hehehe");
set.add("abc");
//3)直接打印, 输出的顺序可能与添加的顺序不一致
System.out.println( set ); //[abc, wkcto, 666, hehehe]
//4)添加重复的元素
set.add("wkcto");
set.add("666");
//Set集合中不能存储重复的元素
System.out.println( set ); //[abc, wkcto, 666, hehehe]
//5)删除
set.remove("abc");
System.out.println( set); //[wkcto, 666, hehehe]
//6)迭代
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
String string = (String) iterator.next();
System.out.print( string + " ");
}
System.out.println();
}
}