日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java知识点总结(Java容器-EnumSet)

發布時間:2025/7/14 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java知识点总结(Java容器-EnumSet) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java知識點總結(Java容器-EnumSet)

@(Java知識點總結)[Java, Java容器, JavaCollection, JavaSet]

EnumSet

  • EnumSet是一個專為枚舉設計的集合類 ,EnumSet中所有值都必須是指定枚舉類型的枚舉值,該枚舉類型在創建EnumSet時顯式或隱性的指定。EnumSet的集合元素也是有序的,EnumSet以枚舉值在Enum類內的定義順序來決定集合元素的排序。
  • __EnumSet在內部以位向量的形式存儲__,這種存儲形式非常緊湊、高效,因此EnumSet對象占用內存很小,而且運行效率很好。尤其是當進行批量操作(如調用containsAll和retainAll方法)時,如其參數也是EnumSet集合,則該批量操作的執行速度也非常快。
  • __EnumSet集合不容許加入null元素__。如果試圖插入null元素,EnumSet將會拋出NullPointerException異常。
  • EnumSet類沒有暴露任何構造器來創建該類的實例,程序應該通過它提供的靜態方法來創建EnumSet對象。
  • 相關操作

    //1.0創建一個EnumSet集合,集合元素就是Season枚舉類的全部枚舉值EnumSet<Season> es = EnumSet.allOf(Season.class);System.out.println(es);//輸出[SPRING, SUMMER, AUTUMN, WINTER]//2.0創建一個EnumSet空集合,指定其集合元素時Season類的枚舉值。EnumSet<Season> es2 = EnumSet.noneOf(Season.class);System.out.println(es2);//輸出[]//2.1手動添加兩個元素es2.add(Season.AUTUMN);es2.add(Season.WINTER);System.out.println(es2);//輸出[AUTUMN, WINTER]//3.0以指定枚舉值創建EnumSet集合EnumSet<Season> es3 = EnumSet.of(Season.SPRING, Season.SUMMER);System.out.println(es3);//輸出[SPRING, SUMMER]//4.0創建包含從Season.SPRING枚舉值,到Season.AUTUMN枚舉值范圍內所有枚舉值的EnumSet集合。EnumSet<Season> es4 = EnumSet.range(Season.SPRING, Season.AUTUMN);System.out.println(es4); //輸出[SPRING, SUMMER, AUTUMN]//5.0新創建的EnumSet集合元素和es4集合的元素有相同類型,es5的集合元素 + es4的集合元素 = Season 的所有枚舉值EnumSet<Season> es5 = EnumSet.complementOf(es4);System.out.println(es5); //輸出[WINNER]//6.0復制Collection集合中所有元素來創建EnumSet集合。Collection<Season> c = new HashSet<Season>();c.add(Season.AUTUMN);c.add(Season.WINTER);EnumSet<Season> es6 = EnumSet.copyOf(c);System.out.println(es6); //輸出[AUTUMN, WINTER]

    總結

    以上是生活随笔為你收集整理的Java知识点总结(Java容器-EnumSet)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。