成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java知識(shí)點(diǎn)總結(jié)(Java容器-EnumSet)

kycool / 2463人閱讀

摘要:知識(shí)點(diǎn)總結(jié)容器知識(shí)點(diǎn)總結(jié)容器是一個(gè)專為枚舉設(shè)計(jì)的集合類,中所有值都必須是指定枚舉類型的枚舉值,該枚舉類型在創(chuàng)建時(shí)顯式或隱性的指定。集合不容許加入元素。

Java知識(shí)點(diǎn)總結(jié)(Java容器-EnumSet)

@(Java知識(shí)點(diǎn)總結(jié))[Java, Java容器, JavaCollection, JavaSet]

EnumSet

EnumSet是一個(gè)專為枚舉設(shè)計(jì)的集合類 ,EnumSet中所有值都必須是指定枚舉類型的枚舉值,該枚舉類型在創(chuàng)建EnumSet時(shí)顯式或隱性的指定。EnumSet的集合元素也是有序的,EnumSet以枚舉值在Enum類內(nèi)的定義順序來決定集合元素的排序。

__EnumSet在內(nèi)部以位向量的形式存儲(chǔ)__,這種存儲(chǔ)形式非常緊湊、高效,因此EnumSet對(duì)象占用內(nèi)存很小,而且運(yùn)行效率很好。尤其是當(dāng)進(jìn)行批量操作(如調(diào)用containsAll和retainAll方法)時(shí),如其參數(shù)也是EnumSet集合,則該批量操作的執(zhí)行速度也非??臁?/p>

__EnumSet集合不容許加入null元素__。如果試圖插入null元素,EnumSet將會(huì)拋出NullPointerException異常。

EnumSet類沒有暴露任何構(gòu)造器來創(chuàng)建該類的實(shí)例,程序應(yīng)該通過它提供的靜態(tài)方法來創(chuàng)建EnumSet對(duì)象。

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

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/69644.html

相關(guān)文章

  • Java識(shí)點(diǎn)總結(jié)Java容器-Set)

    摘要:知識(shí)點(diǎn)總結(jié)容器知識(shí)點(diǎn)總結(jié)容器是一種不包括重復(fù)元素的。由于接口的特殊性,所有傳入集合中的元素必須不同。集合判斷兩個(gè)對(duì)象是否相同,是使用方法,而不是使用運(yùn)算符的。只能存儲(chǔ),所以只會(huì)在存儲(chǔ)的情況下使用。 Java知識(shí)點(diǎn)總結(jié)(Java容器-Set) @(Java知識(shí)點(diǎn)總結(jié))[Java, Java容器, JavaCollection, JavaSet] Set Set是一種不包括重復(fù)元素的Col...

    dack 評(píng)論0 收藏0
  • Java 基礎(chǔ) | Collection 集合概覽

    摘要:說到復(fù)盤基礎(chǔ),并不是所有的都會(huì)復(fù)盤,沒那個(gè)時(shí)間更沒那個(gè)必要。比如,一些基礎(chǔ)的語法以及條件語句,極度簡(jiǎn)單。思前想后,我覺得整個(gè)計(jì)劃應(yīng)該從集合開始,而復(fù)盤的方式就是讀源碼。通常,隊(duì)列不允許隨機(jī)訪問隊(duì)列中的元素。 ?showImg(https://segmentfault.com/img/remote/1460000020029737?w=1080&h=711); 老讀者都知道,我是自學(xué)轉(zhuǎn)行...

    codergarden 評(píng)論0 收藏0
  • java集合-Set

    摘要:集合判斷兩個(gè)元素的標(biāo)準(zhǔn)是兩個(gè)對(duì)象通過方法比較相等,并且兩個(gè)對(duì)象的方法返回值也相等。的集合元素也是有序的,以枚舉值在類內(nèi)的定義順序來決定集合元素的順序。是所有實(shí)現(xiàn)類中性能最好的,但它只能保存同一個(gè)枚舉類的枚舉值作為集合元素。 Set集合通常不能記住元素的添加順序。Set不允許包含重復(fù)的元素。 Set集合不允許包含相同的元素,如果試圖把兩個(gè)相同的元素加入同一個(gè)Set集合中,則添加操作...

    xavier 評(píng)論0 收藏0
  • Java 集合 Set

    摘要:當(dāng)復(fù)制集合中的所有元素來創(chuàng)建新的集合時(shí),要求集合中的所有元素必須是同一個(gè)枚舉類的枚舉值各實(shí)現(xiàn)類的性能分析的性能總比好,特別是最常用的添加查詢?cè)氐炔僮鳌R驗(yàn)樾枰~外的紅黑樹算法來維護(hù)集合元素的次序。在創(chuàng)建時(shí)進(jìn)行,以防對(duì)集合的意外非同步訪問 HashSet 大多時(shí)候使用Set集合時(shí)就是使用HashSet實(shí)現(xiàn)類。HashSet按Hash算法來存儲(chǔ)集合中的元素,因此具有很好的存取和查找性能 ...

    verano 評(píng)論0 收藏0
  • Stream流與Lambda表達(dá)式(四) 自定義收集器

    摘要:一自定義收集器陳楊將集合轉(zhuǎn)換為集合存放相同元素二自定義收集器陳楊將學(xué)生對(duì)象按照存放從中間容器數(shù)據(jù)類型轉(zhuǎn)換為結(jié)果類型數(shù)據(jù)類型一致若不一致拋出類型轉(zhuǎn)換異常對(duì)中間容器數(shù)據(jù)結(jié)果類型進(jìn)行強(qiáng)制類型轉(zhuǎn)換多個(gè)線程同時(shí)操作同一個(gè)容器并行多線 一、自定義SetCustomCollector收集器 package com.java.design.Stream.CustomCollector; impor...

    wind5o 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

kycool

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<