摘要:知識點(diǎn)總結(jié)容器知識點(diǎn)總結(jié)容器是一個專為枚舉設(shè)計的集合類,中所有值都必須是指定枚舉類型的枚舉值,該枚舉類型在創(chuàng)建時顯式或隱性的指定。集合不容許加入元素。
Java知識點(diǎn)總結(jié)(Java容器-EnumSet)
@(Java知識點(diǎn)總結(jié))[Java, Java容器, JavaCollection, JavaSet]
EnumSetEnumSet是一個專為枚舉設(shè)計的集合類 ,EnumSet中所有值都必須是指定枚舉類型的枚舉值,該枚舉類型在創(chuàng)建EnumSet時顯式或隱性的指定。EnumSet的集合元素也是有序的,EnumSet以枚舉值在Enum類內(nèi)的定義順序來決定集合元素的排序。
__EnumSet在內(nèi)部以位向量的形式存儲__,這種存儲形式非常緊湊、高效,因此EnumSet對象占用內(nèi)存很小,而且運(yùn)行效率很好。尤其是當(dāng)進(jìn)行批量操作(如調(diào)用containsAll和retainAll方法)時,如其參數(shù)也是EnumSet集合,則該批量操作的執(zhí)行速度也非???。
__EnumSet集合不容許加入null元素__。如果試圖插入null元素,EnumSet將會拋出NullPointerException異常。
EnumSet類沒有暴露任何構(gòu)造器來創(chuàng)建該類的實(shí)例,程序應(yīng)該通過它提供的靜態(tài)方法來創(chuàng)建EnumSet對象。
相關(guān)操作//1.0創(chuàng)建一個EnumSet集合,集合元素就是Season枚舉類的全部枚舉值 EnumSetes = EnumSet.allOf(Season.class); System.out.println(es);//輸出[SPRING, SUMMER, AUTUMN, WINTER] //2.0創(chuàng)建一個EnumSet空集合,指定其集合元素時Season類的枚舉值。 EnumSet 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以指定枚舉值創(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)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/69644.html
摘要:知識點(diǎn)總結(jié)容器知識點(diǎn)總結(jié)容器是一種不包括重復(fù)元素的。由于接口的特殊性,所有傳入集合中的元素必須不同。集合判斷兩個對象是否相同,是使用方法,而不是使用運(yùn)算符的。只能存儲,所以只會在存儲的情況下使用。 Java知識點(diǎn)總結(jié)(Java容器-Set) @(Java知識點(diǎn)總結(jié))[Java, Java容器, JavaCollection, JavaSet] Set Set是一種不包括重復(fù)元素的Col...
摘要:說到復(fù)盤基礎(chǔ),并不是所有的都會復(fù)盤,沒那個時間更沒那個必要。比如,一些基礎(chǔ)的語法以及條件語句,極度簡單。思前想后,我覺得整個計劃應(yīng)該從集合開始,而復(fù)盤的方式就是讀源碼。通常,隊列不允許隨機(jī)訪問隊列中的元素。 ?showImg(https://segmentfault.com/img/remote/1460000020029737?w=1080&h=711); 老讀者都知道,我是自學(xué)轉(zhuǎn)行...
摘要:集合判斷兩個元素的標(biāo)準(zhǔn)是兩個對象通過方法比較相等,并且兩個對象的方法返回值也相等。的集合元素也是有序的,以枚舉值在類內(nèi)的定義順序來決定集合元素的順序。是所有實(shí)現(xiàn)類中性能最好的,但它只能保存同一個枚舉類的枚舉值作為集合元素。 Set集合通常不能記住元素的添加順序。Set不允許包含重復(fù)的元素。 Set集合不允許包含相同的元素,如果試圖把兩個相同的元素加入同一個Set集合中,則添加操作...
摘要:當(dāng)復(fù)制集合中的所有元素來創(chuàng)建新的集合時,要求集合中的所有元素必須是同一個枚舉類的枚舉值各實(shí)現(xiàn)類的性能分析的性能總比好,特別是最常用的添加查詢元素等操作。因?yàn)樾枰~外的紅黑樹算法來維護(hù)集合元素的次序。在創(chuàng)建時進(jìn)行,以防對集合的意外非同步訪問 HashSet 大多時候使用Set集合時就是使用HashSet實(shí)現(xiàn)類。HashSet按Hash算法來存儲集合中的元素,因此具有很好的存取和查找性能 ...
摘要:一自定義收集器陳楊將集合轉(zhuǎn)換為集合存放相同元素二自定義收集器陳楊將學(xué)生對象按照存放從中間容器數(shù)據(jù)類型轉(zhuǎn)換為結(jié)果類型數(shù)據(jù)類型一致若不一致拋出類型轉(zhuǎn)換異常對中間容器數(shù)據(jù)結(jié)果類型進(jìn)行強(qiáng)制類型轉(zhuǎn)換多個線程同時操作同一個容器并行多線 一、自定義SetCustomCollector收集器 package com.java.design.Stream.CustomCollector; impor...
閱讀 2234·2021-11-16 11:44
閱讀 641·2019-08-30 15:55
閱讀 3271·2019-08-30 15:52
閱讀 3595·2019-08-30 15:43
閱讀 2196·2019-08-30 11:21
閱讀 435·2019-08-29 12:18
閱讀 1945·2019-08-26 18:15
閱讀 468·2019-08-26 10:32