集合是一个不能包含重复元素的 Collection。它模拟了数学上的集合抽象。
Set 接口仅包含了从 Collection 继承的方法,并增加了禁止重复元素的限制。
Set 还加强了 equals 和 hashCode 操作的行为规范,使得即使其实现类型不同,Set 实例之间也可以有意义地进行比较。
集合(Set)接口方法
以下是 Set 接口中声明的方法:
| 序号 |
方法 & 描述 |
| 1 |
add( ) 将一个对象添加到集合中。 |
| 2 |
clear( ) 从集合中移除所有对象。 |
| 3 |
contains( ) 如果指定的对象是集合内的元素,则返回 true。 |
| 4 |
isEmpty( ) 如果集合没有元素,则返回 true。 |
| 5 |
iterator( ) 返回集合的一个 Iterator 对象,可用于检索对象。 |
| 6 |
remove( ) 从集合中移除一个指定的对象。 |
| 7 |
size( ) 返回集合中的元素数量。 |
集合(Set)接口示例
集合在多种类中有实现,如 HashSet、TreeSet、LinkedHashSet。下面是 Java 中一些实现 Set 接口的例子。
使用 HashSet 实现集合的示例
下面是一个使用 HashSet 解释集合功能的例子:
import java.util.HashSet;
import java.util.Set;
public class SetDemo {
public static void main(String args[]) {
int count[] = {34, 22, 10, 60, 30, 22};
Set<Integer> set = new HashSet<>();
try {
for(int i = 0; i < 5; i++) {
set.add(count[i]);
}
System.out.println(set);
}
catch(Exception e) {}
}
}
输出:
[34, 22, 10, 60, 30]
使用 TreeSet 实现集合的示例
下面是一个使用 TreeSet 解释集合功能的例子:
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;
public class SetDemo {
public static void main(String args[]) {
int count[] = {34, 22, 10, 60, 30, 22};
Set<Integer> set = new HashSet<>();
try {
for(int i = 0; i < 5; i++) {
set.add(count[i]);
}
System.out.println(set);
TreeSet<Integer> sortedSet = new TreeSet<>(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
使用 LinkedHashSet 实现集合的示例
下面是一个使用 LinkedHashSet 操作来解释集合功能的例子:
import java.util.LinkedHashSet;
import java.util.Set;
public class SetDemo {
public static void main(String args[]) {
int count[] = {34, 22, 10, 60, 30, 22};
Set<Integer> set = new LinkedHashSet<>();
try {
for(int i = 0; i < 5; i++) {
set.add(count[i]);
}
System.out.println(set);
}
catch(Exception e) {}
}
}
输出:
[34, 22, 10, 60, 30]