📜  Java中的 EnumSet of() 方法

📅  最后修改于: 2022-05-13 01:55:47.894000             🧑  作者: Mango

Java中的 EnumSet of() 方法

  1. Java中的Java .util.EnumSet.of(E ele1, E ele2, E ele3, ...)方法用于创建最初包含参数中指定元素的枚举集。当同时添加多个项目时,元素会随着新元素的添加而被下推。当在不同的时间或迭代中添加不同的元素时,旧元素会被替换。

    句法:

    Enum_Set = EnumSet.of(E ele1, E ele2, E ele3, ...)

    参数:该方法可以采用枚举中存在的多个参数。

    返回值:该方法返回一个枚举集,最初包含通过参数传递的指定元素。

    异常:如果传递的任何元素为 NULL,该方法将抛出 NullPointerException。

    下面的程序说明了Java.util.EnumSet.of() 方法的工作:
    程序 1:一次添加一个元素替换前一个元素。

    // Java program to demonstrate range() method
    import java.util.*;
      
    // Creating an enum of GFG type
    enum GFG {
        Welcome,
        To,
        The,
        World,
        of,
        Geeks
    }
    ;
      
    public class Enum_Set_Demo {
      
        public static void main(String[] args)
        {
      
            // Creating an EnumSet
            EnumSet e_set;
      
            // Adding elements
            e_set = EnumSet.of(GFG.The);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
      
            // Adding elements
            e_set = EnumSet.of(GFG.Geeks);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
      
            // Adding elements
            e_set = EnumSet.of(GFG.Welcome);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
        }
    }
    
    输出:
    The enum set is: [The]
    The enum set is: [Geeks]
    The enum set is: [Welcome]
    

    方案二:同时添加两个元素。

    // Java program to demonstrate range() method
    import java.util.*;
      
    // Creating an enum of GFG type
    enum GFG {
        Welcome,
        To,
        The,
        World,
        of,
        Geeks
    }
    ;
      
    public class Enum_Set_Demo {
      
        public static void main(String[] args)
        {
      
            // Creating an EnumSet
            EnumSet e_set;
      
            // Adding elements
            e_set = EnumSet.of(GFG.The, GFG.Geeks);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
      
            // Adding elements
            e_set = EnumSet.of(GFG.Geeks, GFG.Welcome);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
      
            // Adding elements
            e_set = EnumSet.of(GFG.of, GFG.World);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
        }
    }
    
    输出:
    The enum set is: [The, Geeks]
    The enum set is: [Welcome, Geeks]
    The enum set is: [World, of]
    

    方案3:同时添加多个元素。

    // Java program to demonstrate range() method
    import java.util.*;
      
    // Creating an enum of GFG type
    enum GFG {
        Welcome,
        To,
        The,
        World,
        of,
        Geeks
    }
    ;
      
    public class Enum_Set_Demo {
      
        public static void main(String[] args)
        {
      
            // Creating an EnumSet
            EnumSet e_set;
      
            // Adding 2 elements
            e_set = EnumSet.of(GFG.The, GFG.Geeks);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
      
            // Adding 3 elements
            e_set = EnumSet.of(GFG.The, GFG.Geeks, GFG.Welcome);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
      
            // Adding 4 elements
            e_set = EnumSet.of(GFG.Geeks, GFG.Welcome,
                               GFG.of, GFG.World);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
      
            // Adding 5 elements
            e_set = EnumSet.of(GFG.Welcome, GFG.To, GFG.The,
                               GFG.of, GFG.World, GFG.Geeks);
      
            // Displaying the updated set
            System.out.println("The enum set is: " + e_set);
        }
    }
    
    输出:
    The enum set is: [The, Geeks]
    The enum set is: [Welcome, The, Geeks]
    The enum set is: [Welcome, World, of, Geeks]
    The enum set is: [Welcome, To, The, World, of, Geeks]
    
  2. Java.util.EnumSet.of( E_first, E_rest )用于创建最初包含所有指定元素的枚举集。这个工厂,它的参数列表使用了 var_args 特性,也可以用来创建一个初始包含任意数量元素的枚举集,但它的缺点是使程序运行得比不使用 var_args 的重载慢。
    句法:
    public static > EnumSet of(E_first, E_rest)

    参数:该方法有两个参数:

    • E_first:这是枚举类型,指的是集合最初要包含的元素。
    • E_rest:这也是枚举类型,指的是集合最初需要包含的其余元素。

    返回值:该方法返回一个枚举集,最初包含通过参数传递的指定元素。

    异常:如果传递的任何元素为 NULL,该方法将抛出 NullPointerException。

    下面的程序说明了Java.util.EnumSet.of( E_first, E_rest ) 方法的工作:

    // Java program to demonstrate of() method
    import java.util.*;
      
    // Creating an enum of GFG type
    enum GFG {
        Welcome,
        To,
        The,
        World,
        of,
        Geeks
    }
    ;
    public class Enum_Set_Demo {
      
       public static void main(String[] args) {
      
          // Creating the ist that will be used as args
          GFG[] listing = {GFG.Welcome, GFG.The, 
                           GFG.World, GFG.Geeks};
      
          // Calling the other main function
          other_main(listing);
       }
      
       // The other_main.
       public static void other_main(GFG[] other_args) {
      
          // Creating the set
          EnumSet e_set;
      
          // Adding the first element and the other_args
          e_set = EnumSet.of(GFG.Welcome, other_args);
      
          // Displaying the e_set
          System.out.println("Set: " + e_set);
       }
    }
    
    输出:
    Set: [Welcome, The, World, Geeks]