溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用 EnumSet 進行集合運算

發布時間:2025-02-06 19:59:34 來源:億速云 閱讀:95 作者:小樊 欄目:編程語言

EnumSet 是 Java 集合框架中的一個類,它實現了 Set 接口,用于存儲不重復的枚舉元素

  1. 導入必要的包:
import java.util.EnumSet;
import java.util.Set;
  1. 創建一個枚舉類型:
enum Color {
    RED, GREEN, BLUE, YELLOW, ORANGE
}
  1. 使用 EnumSet 添加、刪除和檢查元素:
Set<Color> redColors = EnumSet.noneOf(Color.class); // 創建一個空的 EnumSet,包含所有 Color 枚舉值
redColors.add(Color.RED);
redColors.add(Color.ORANGE);

System.out.println("Red colors: " + redColors); // 輸出:Red colors: [RED, ORANGE]

redColors.remove(Color.RED); // 刪除元素
System.out.println("Red colors after removing RED: " + redColors); // 輸出:Red colors after removing RED: [ORANGE]

boolean containsGreen = redColors.contains(Color.GREEN);
System.out.println("Contains GREEN: " + containsGreen); // 輸出:Contains GREEN: false
  1. 進行集合運算(交集、并集、差集和對稱差集):
Set<Color> greenColors = EnumSet.noneOf(Color.class);
greenColors.add(Color.GREEN);
greenColors.add(Color.YELLOW);

// 交集
Set<Color> intersection = EnumSet.allOf(Color.class); // 創建一個包含所有 Color 枚舉值的 EnumSet
intersection.retainAll(redColors); // 保留交集元素
System.out.println("Intersection: " + intersection); // 輸出:Intersection: [RED, ORANGE]

// 并集
Set<Color> union = new HashSet<>(redColors);
union.addAll(greenColors);
System.out.println("Union: " + union); // 輸出:Union: [RED, ORANGE, GREEN, YELLOW]

// 差集
Set<Color> difference = new HashSet<>(redColors);
difference.removeAll(greenColors);
System.out.println("Difference: " + difference); // 輸出:Difference: [RED, ORANGE]

// 對稱差集
Set<Color> symmetricDifference = new HashSet<>(redColors);
symmetricDifference.addAll(greenColors);
symmetricDifference.removeAll(redColors);
symmetricDifference.removeAll(greenColors);
System.out.println("Symmetric Difference: " + symmetricDifference); // 輸出:Symmetric Difference: []

通過以上示例,您可以了解如何使用 EnumSet 進行集合運算。注意,EnumSet 在內存和性能方面表現很好,特別是當處理枚舉類型時。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女