EnumMap,EnumSet列舉操作類的簡單使用

2021-10-07 22:16:36 字數 1492 閱讀 4881

這個類,1.5就出了,繼承abstractmap,說白了就是個map,只是他的key是列舉:

enummap也是執行緒不安全的,內部實現了迭代器,如果有執行緒安全問題,記得轉迭代器,使用這個方法轉就好enummap.entryset().iterator():

使用就是直接當做map就好了,為啥要使用這個類,很簡單,快,進行了部分優化,所以當key為列舉的時候盡量使用這個類:

@org

.junit.test

public

void

test2()

enum season

效能比較測試:

@org

.junit.test

public

void

test3()

long l2 = system.

currenttimemillis()

; system.out.

println

(l2 - l)

;long l3 = system.

currenttimemillis()

;for

(int i =

0; i <

100000

; i++

)long l4 = system.

currenttimemillis()

; system.out.

println

(l4 - l3)

;}

執行結果:快樂一倍左右吧

跟enummap差不多,大部分方法跟set差不多,只不過構建方法加了很多:

提供了很多靜態的構建方法:

簡單的構建方法測試:

@org

.junit.test

public

void

test1()

執行結果:

其他方法就很簡單,跟set一樣,只不過還是對列舉有優化;所以,如果有列舉set盡量使用這兩個類

Spring Boot Mybatis 使用列舉類

記錄一下,在實際專案引用列舉的步驟 可以參照以前我總結的部落格 為什麼要使用列舉?需要建立以下檔案 檔案描述 inte ce ienum class enumkeytypehandler 繼承 basetypehandler的自定義列舉類 class 實體bean 資料庫對應的po,將需要用列舉表示...

Algorithm Gossip 八枚銀幣

file name arithmetic.c creat data 2015.1.31 author zy algorithm gossip 八枚銀幣 現有八枚銀幣a,b,c,d,e,f,g,h,已知其中一枚是假幣,其重量不同於真幣,但不知是較輕或較重,如何使用天 平以最少的次數比較,決定出哪枚是假...

n枚硬幣問題

大致說一下問題,就是在n枚硬幣中存在乙個假幣,但不知道假幣比真幣中還是輕,你只有乙個天秤,要你用最少的比較次數找到假幣在哪。本來的思路是不斷二分,如果硬幣是偶數枚,那恰好能分成兩份,第一次分成的這兩份肯定乙份重乙份輕,並且無法判斷假幣在哪乙份裡。但如果把第乙份再二分,如果重量相等的話,假幣肯定在第一...