Java中的set接口 java.util.set

作者: Arvin Chen 分类: Java 来源: Break易站(www.breakyizhan.com)
  •   Java 集合框架

    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: []
  •   Java 集合框架
  •   本文标题:Java中的set接口 java.util.set - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/java/5324.html
      微信返利机器人
      免费:淘宝,京东,拼多多优惠券
      腾讯,爱奇艺,优酷的VIP视频免费解析,免费看
      即刻扫描二维码,添加微信机器人!

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注