一、基本介绍
1、无序(添加和取出的顺序不一致),没有索引
2、不允许重复元素,所以最多包含一个null
3、JDK API 由 Set 接口的实现类有
二、Set接口的常用方法
和 List 接口一样,Set接口也是 Collection 的子接口,因此,常用方法和 Collection 接口一样
import java.util.HashSet;
public class SetMethod {
public static void main(String[] args) {
//以 Set 接口的实现类 HashSet 来演示 Set 接口的方法
//1. set 接口的实现类的对象(Set接口对象),不能存放重复的元素,可以添加一个null
//2. set 接口对象存放数据是无序的(即添加顺序和取出的顺序不一致)
// 取出的顺序虽然不是添加的顺序,但是它是固定的
HashSet set = new HashSet();
set.add("张三");
set.add("李四");
set.add("老六");
set.add("张三");//重复
set.add(null);
set.add(null);
//取出的顺序是固定的
for (int i = 0; i < 10; i++) {
System.out.println(set);
}
}
}
三、Set接口的遍历方式
同 Collection 的遍历方式一样,因为 Set 接口是 Collection 接口的子接口
1、可以使用迭代器
2、增强for
3、不能使用索引的方式来获取
import java.util.HashSet;
import java.util.Iterator;
public class SetMethod {
public static void main(String[] args) {
HashSet set = new HashSet();
set.add("张三");
set.add("李四");
set.add("老六");
set.add("张三");//重复
set.add(null);
set.add(null);
//遍历方式一 迭代器
Iterator iterator = set.iterator();
while (iterator.hasNext()) {
Object next = iterator.next();
System.out.println(next);
}
//遍历方式二 增强for
for (Object o : set) {
System.out.println(o);
}
//不能使用索引的方式遍历
}
}