基本介绍
- 无序(添加,取出顺序不一致,但取出顺序固定),没有索引
- 不允许重复元素,所以最多包含一个null
- 实现类:HashSet,TreeSet(常用的就这两个)
常用方法
Set接口是Collection的子接口,常用方法和Collection相同
执行add方法后,实际上返回一个boolean值
遍历方式
- 可以使用迭代器
- 增强for循环
- 因为无序,所以不能用索引的方式来获取
@SuppressWarnings({"all"}) public class SetMethod { public static void main(String[] args) { Set set = new HashSet(); set.add("a"); set.add("b"); set.add("c"); set.add("d"); set.add(null); set.add(null); for (int i = 0; i < 1; i++) { System.out.println(set); } //遍历方式 //1.迭代器 Iterator iterator = set.iterator(); while (iterator.hasNext()) { Object obj = iterator.next(); System.out.println("obj = " + obj); } //2.增强for循环 for (Object o : set) { System.out.println("o=" + o); } } }
HashSet
底层机制说明 0519 - 0524
- 同上,可存放空值,但只能存放一个(相同元素只能存放一个)
- 不保证存放元素的顺序与取出顺序一致
- 底层是HashMap