Java 简明教程
Java - Set Interface
Set Collection 是一个不能包含重复元素的集合。它模拟了数学的集合抽象。
Set 接口仅包含从集合继承的方法,并增加了不允许重复元素的限制。
Set 还对 equals 和 hashCode 操作的行为添加了一个更强的契约,即使 Set 实例的实现类型不同,也能对它们进行有意义的比较。
Set Interface Methods
Set 声明的方法在以下表中总结 −
Sr.No. |
Method & Description |
1 |
add( ) 向集合添加一个对象。 |
2 |
clear( ) 从集合中移除所有对象。 |
3 |
contains( ) 如果没有规定对象是否在集合内,返回 true。 |
4 |
isEmpty( ) 如果没有元素,返回 true。 |
5 |
iterator( ) 返回用于集合的 Iterator 对象,可用于检索对象。 |
6 |
remove( ) 从集合中移除指定对象。 |
7 |
*size( )*返回集合中的元素数。 |
Set Interface Examples
Set 已在其各个类中实现,如 HashSet、 TreeSet、 LinkedHashSet。以下是 Java 中 Set 接口的一些实现。
Example to Implement Set Using HashSet
以下是一个使用 HashSet 来解释 Set 功能的示例 −
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]
Example to Implement Set Using TreeSet
以下是一个使用 TreeSet 来解释 Set 功能的示例 −
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
Example to Implement Set Using LinkedHashSet
以下是一个使用 LinkedHashSet 操作来解释 Set 功能的示例 −
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]