Set
是一个不能包含重复元素的Collection
。它模拟了数学集合抽象。
Set
接口仅包含从Collection
接口继承的方法,并添加禁止重复元素的限制。
Set
还为equals
和hashCode
操作的行为添加了一个更强的规范,允许Set
实例有意义地进行比较,即使它们的实现类型不同。
Set
声明的方法如下表中所示 -
编号 | 方法 | 描述 |
---|---|---|
1 | add() |
添加一个对象到集合中。 |
2 | clear() |
从集合中删除所有对象。 |
3 | contains() |
如果指定的对象是集合中的元素,则返回true 。 |
4 | isEmpty() |
如果集合没有元素,则返回true 。 |
5 | iterator() |
返回集合的Iterator 对象,该对象可用于检索对象。 |
6 | remove() |
从集合中删除指定对象。 |
7 | size() |
返回集合中的元素数。 |
示例
Set在HashSet
,TreeSet
,LinkedHashSet
等各种类中都有实现。以下是Set
功能的示例 -
import java.util.*;
/* 文件 : RunEncap.java */
public class RunEncap {
public static void main(String args[]) {
int count[] = { 334, 222, 120, 610, 370, 222 };
Set<Integer> set = new HashSet<Integer>();
try {
for (int i = 0; i < 5; i++) {
set.add(count[i]);
}
System.out.println(set);
TreeSet sortedSet = new TreeSet<Integer>(set);
System.out.println("排序列表是:");
System.out.println(sortedSet);
System.out.println("第一个元素是: " + (Integer) sortedSet.first());
System.out.println("最后一个元素是: " + (Integer) sortedSet.last());
} catch (Exception e) {
}
}
}
执行上面示例代码,得到以下结果 -
[610, 370, 120, 334, 222]
排序列表是:
[120, 222, 334, 370, 610]
第一个元素是: 120
最后一个元素是: 610