上節(jié)我們提到,如果需要一個Map的實現類,并且鍵的類型為枚舉類型,可以使用HashMap,但應該使用一個專門的實現類EnumMap。

為什么要有一個專門的類呢?我們之前介紹過枚舉的本質,主要是因為枚舉類型有兩個特征,一是它可能的值是有限的且預先定義的,二是枚舉值都有一個順序,這兩個特征使得可以更為高效的實現Map接口。

我們先來看EnumMap的用法,然后看它到底是怎么實現的。

用法

舉個簡單的例子,比如,有一批關于衣服的記錄,我們希望按尺寸統(tǒng)計衣服的數量。

定義一個簡單的枚舉類,Size,表示衣服的尺寸:

public enum Size {
    SMALL, MEDIUM, LARGE
}

定義一個簡單類,Clothes,表示衣服:

復制代碼
class
        		

網友評論