Java Set接口
Set是一种不能包含重复元素的集合。它模拟了数学集合的抽象概念。
Set接口只包含继承自Collection的方法,并且增加了禁止有重复元素的限制。
Set还对equals和hashCode操作的行为增加了更强的约束,使得即使它们的类型实现不同,Set实例也可以有意义地进行比较。
Set声明的方法总结在下表中:
序号 | 方法和描述 |
---|---|
1 | add( ) 向集合中添加一个对象。 |
2 | clear( ) 从集合中移除所有对象。 |
3 | contains( ) 如果指定对象是集合中的元素,返回true。 |
4 | isEmpty( ) 如果集合没有元素,返回true。 |
5 | iterator( ) 返回集合的迭代器对象,该对象可用于检索元素。 |
6 | remove( ) 从集合中移除指定对象。 |
7 | size( ) 返回集合中的元素数量。 |
示例
Set在各种类中都有其实现,如HashSet、TreeSet、LinkedHashSet。以下是一个示例来解释Set的功能:
import java.util.*;
public class SetDemo {
public static void main(String args[]) {
int count[] = {34, 22,10,60,30,22};
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("The sorted list is:");
System.out.println(sortedSet);
System.out.println("The First element of the set is: "+ (Integer)sortedSet.first());
System.out.println("The last element of the set is: "+ (Integer)sortedSet.last());
}
catch(Exception e) {}
}
}
这将产生以下结果 –
输出
[34, 22, 10, 60, 30]
The sorted list is:
[10, 22, 30, 34, 60]
The First element of the set is: 10
The last element of the set is: 60