Java Set是java.util包的一部分,并扩展了java.util.Collection接口。它不允许使用重复元素,并且在max时只能容纳一个null元素。Java Set界面的几个重要特性如下:

  • set接口是无序的对象集合,其中不能存储重复的值。
  • Java Set不提供对元素插入或删除位置的控制。
  • 基本上,Set由HashSetLinkedHashSetTreeSet(排序表示)实现。
  • 设置有各种方法添加,删除清除,大小等,以增强此接口的使用

// Java code for adding elements in Set
import java.util.*;
public class Set_example
{
    public static void main(String[] args)
    {
        // Set demonstration using HashSet
        Set<String> hash_Set = new HashSet<String>();
        hash_Set.add("Geeks");
        hash_Set.add("For");
        hash_Set.add("Geeks");
        hash_Set.add("Example");
        hash_Set.add("Set");
        System.out.print("Set output without the duplicates");

        System.out.println(hash_Set);

        // Set demonstration using TreeSet
        System.out.print("Sorted Set after passing into TreeSet");
        Set<String> tree_Set = new TreeSet<String>(hash_Set);
        System.out.println(tree_Set);
    }
}

输出:

Set output without the duplicates[Set, Example, Geeks, For]
Sorted Set after passing into TreeSet[Example, For, Geeks, Set]

(请注意,我们输入了一个重复的实体,但它没有显示在输出中。另外,我们可以通过将无序的Set in作为TreeSet的参数传递来直接对条目进行排序)。

注意:我们可以看到在最终输出中忽略了重复条目“Geeks”,Set接口不允许重复条目。 (请注意,我们输入了一个重复的实体,但它没有显示在输出中。另外,我们可以通过将无序的Set in作为TreeSet的参数传递来直接对条目进行排序)。

现在让我们看一下Set的一些基本操作,即UnionIntersectionDifference。 我们来看两个整数集的例子:

  • [1,3,2,4,8,9,0]
  • [1,3,7,5,4,0,7,5]

Set的同一 这允许用户向另一个添加一个步骤。由于Set本身不允许任何重复的条目,我们不需要处理常见的值。 预期输出:

Union : [0, 1, 2, 3, 4, 5, 7, 8, 9]

Set的交集: 此操作用于保留两个集合的公共值。 预期输出:

Intersection : [0, 1, 3, 4]

Set的差异: 此操作用于从另一个集合中删除一个集合的所有值。 预期输出:

Difference : [2, 8, 9]

下面的程序说明了Set接口的各种基本操作的工作:

// Java code for demonstrating union, intersection and difference
// on Set
import java.util.*;
public class Set_example
{
    public static void main(String args[])
    {
        Set<Integer> a = new HashSet<Integer>();
        a.addAll(Arrays.asList(new Integer[] {1, 3, 2, 4, 8, 9, 0}));
        Set<Integer> b = new HashSet<Integer>();
        b.addAll(Arrays.asList(new Integer[] {1, 3, 7, 5, 4, 0, 7, 5}));

        // To find union
        Set<Integer> union = new HashSet<Integer>(a);
        union.addAll(b);
        System.out.print("Union of the two Set");
        System.out.println(union);

        // To find intersection
        Set<Integer> intersection = new HashSet<Integer>(a);
        intersection.retainAll(b);
        System.out.print("Intersection of the two Set");
        System.out.println(intersection);

        // To find the symmetric difference
        Set<Integer> difference = new HashSet<Integer>(a);
        difference.removeAll(b);
        System.out.print("Difference of the two Set");
        System.out.println(difference);
    }
}

输出:

Union of the two Set[0, 1, 2, 3, 4, 5, 7, 8, 9]
Intersection of the two Set[0, 1, 3, 4]
Difference of the two Set[2, 8, 9]

设置接口中的方法:

  1. add():此方法用于一次向集合添加一个对象。
  2. clear():此方法用于从集合中删除所有元素。
  3. contains():此方法用于验证集合中是否存在指定元素。
  4. isEmpty():此方法用于检查集合是否为空。
  5. iterator():用于返回Iterator对象,该对象可用于从集合中检索对象。
  6. remove():用于从集合中删除指定的对象。
  7. size():用于了解集合中存在的元素的大小或数量。

下面的程序说明了几种Set Interface方法的操作:

// Java code to illustrate clear()
import java.io.*;
import java.util.HashSet;

public class HashSetDemo{
    public static void main(String args[])
    {
        // Creating an empty HashSet
        HashSet<String> set = new HashSet<String>();

        // Use add() method to add elements into the Set
        set.add("Welcome");
        set.add("To");
        set.add("Geeks");
        set.add("4");
        set.add("Geeks");

        // Displaying the HashSet
        System.out.println("HashSet: " + set);
        
        // Using isEmpty() to verify for the emptiness
        System.out.println("The set is empty? "+
                                       set.isEmpty());
        
        // Does the set contain "Geeks"
        System.out.println("Does the set contain 'Geeks'?" 
                                 + set.contains("Geeks"));
                                 
        // Getting the size of the set
        System.out.println("The size of the set is "+
                                             set.size());
       
        // Removing "To" from the set
        set.remove("To");

        // Displaying the HashSet
        System.out.println("HashSet: " + set);        

        // Clearing the HashSet using clear() method
        set.clear();

        // Displaying the final Set after clearing;
        System.out.println("The final set: " + set);
    }
}

输出:

HashSet: [4, Geeks, Welcome, To]
The set is empty? false
Does the set contain 'Geeks'?true
The size of the set is 4
HashSet: [4, Geeks, Welcome]
The final set: []

 
转载请保留页面地址:https://www.breakyizhan.com/java/5324.html
扫描二维码添加微信 
  • ,每次淘宝领取淘宝优惠券,淘宝购物更优惠。现在添加微信,还可以领取机械键盘50元优惠券!添加微信后回复机械键盘即可领取!
    支持我们,就用微信淘宝!