Java EnumSet complementOf() 方法



描述

java.util.EnumSet.complementOf(EnumSet<E> s) 方法建立一個與指定列舉集具有相同元素型別的列舉集。它包含此型別中未包含在指定集中的所有元素。

宣告

以下是 java.util.EnumSet.complementOf() 方法的宣告

public static <E extends Enum<E>> EnumSet<E> complementOf(EnumSet<E> s)

引數

s − 要從此列舉集的補集中初始化此列舉集的列舉集。

返回值

此方法不返回值。

異常

NullPointerException − 如果 s 為 null

獲取 EnumSet 補集示例

以下示例顯示了 Java EnumSet complementOf(EnumSet) 方法的使用,以填充 EnumSet 例項。我們建立了一個列舉 Numbers。然後使用列舉值建立了一個 EnumSet 例項。使用 complementOf(EnumSet) 方法,列舉集將填充列舉的剩餘值,並列印結果列舉集。

package com.tutorialspoint;

import java.util.EnumSet;

public class EnumSetDemo {

   // create an enum
   public enum Numbers {
      ONE, TWO, THREE, FOUR, FIVE
   };

   public static void main(String[] args) {

      // create an EnumSet that has only Numbers.FOUR as element 
      EnumSet<Numbers> set1 = EnumSet.of(Numbers.FOUR);

      // print the set
      System.out.println("Set1:" + set1);

      // create a set2 which has all elements that set1 doesn't have
      EnumSet<Numbers> set2 = EnumSet.complementOf(set1);

      // print the updated set
      System.out.println("Set2:" + set2);

   }
}

輸出

讓我們編譯並執行以上程式,這將產生以下結果:

Set1:[FOUR]
Set2:[ONE, TWO, THREE, FIVE]

獲取具有值的列舉的 EnumSet 補集示例

以下示例顯示了 Java EnumSet complementOf(EnumSet) 方法的使用,以填充 EnumSet 例項。我們建立了一個列舉 Number。然後使用列舉值建立了一個 EnumSet 例項。使用 complementOf(EnumSet) 方法,列舉集將填充列舉的剩餘值,並列印結果列舉集。

package com.tutorialspoint;

import java.util.EnumSet;

public class EnumSetDemo {

   // create an enum
   public enum Number {
      ONE("1"), TWO("2"), THREE("3"), FOUR("4"), FIVE("5");

      // instance variable for enum
      private String value;

      public String getValue() {
         return this.value;
      }

      // constructor should be private or protected
      private Number(String value) {
         this.value = value;
      }

      @Override
      public String toString() {
        return this.name() +"(" + this.value + ")";
      }
   };

   public static void main(String[] args) {

      // create an EnumSet that has only Numbers.FOUR as element 
      EnumSet<Number> set1 = EnumSet.of(Number.FOUR);

      // print the set
      System.out.println("Set1:" + set1);

      // create a set2 which has all elements that set1 doesn't have
      EnumSet<Number> set2 = EnumSet.complementOf(set1);

      // print the updated set
      System.out.println("Set2:" + set2);

   }
}

輸出

讓我們編譯並執行以上程式,這將產生以下結果:

Set1:[FOUR(4)]
Set2:[ONE(1), TWO(2), THREE(3), FIVE(5)]
java_util_enumset.htm
廣告

© . All rights reserved.