Java中的Set
是一个接口,它实现了Collection
接口。Set
的主要功能是存储不重复的元素。以下是Set
的一些主要功能:
- 添加元素:使用
add()
方法向集合中添加一个元素。如果元素已经存在,则不会添加。
Setset = new HashSet<>(); set.add("apple"); set.add("banana"); set.add("apple"); // 不会添加,因为已经存在
- 删除元素:使用
remove()
方法从集合中删除一个元素。如果元素不存在,则不会报错。
set.remove("apple");
- 检查元素是否存在:使用
contains()
方法检查集合中是否包含某个元素。
boolean containsApple = set.contains("apple"); // true
- 获取集合的大小:使用
size()
方法获取集合中元素的个数。
int size = set.size(); // 2
- 清空集合:使用
clear()
方法清空集合中的所有元素。
set.clear();
- 遍历集合:使用迭代器(Iterator)或增强型for循环遍历集合中的元素。
// 使用迭代器 Iteratoriterator = set.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } // 使用增强型for循环 for (String element : set) { System.out.println(element); }
- 判断是否为空:使用
isEmpty()
方法判断集合是否为空。
boolean isEmpty = set.isEmpty(); // false
- 判断是否包含特定集合:使用
containsAll()
方法判断集合是否包含另一个集合中的所有元素。
SetanotherSet = new HashSet<>(); anotherSet.add("apple"); anotherSet.add("banana"); boolean containsAll = set.containsAll(anotherSet); // true
- 保留特定集合:使用
retainAll()
方法保留集合中另一个集合的所有元素,不包含的元素将被删除。
SetanotherSet = new HashSet<>(); anotherSet.add("apple"); anotherSet.add("orange"); set.retainAll(anotherSet); // set 现在只包含 "apple"
- 遍历集合的子集:使用
subSet()
、headSet()
和tailSet()
方法遍历集合的子集。
SetsubSet = set.subSet("a", "c"); // 包含 "apple" 和 "banana" Set headSet = set.headSet("b"); // 包含 "apple" Set tailSet = set.tailSet("b"); // 包含 "banana"
这些功能使得Set
接口在Java中非常有用,特别是在需要存储不重复元素的场景中。常见的Set
实现类有HashSet
、LinkedHashSet
和TreeSet
等。