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 已在其各个类中实现,如 HashSetTreeSetLinkedHashSet。以下是 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]