EnumMap

类:花,颜色用enum来保存

public class Flower 
{
    public enum Color{red,purple,white;};//内部类

    private String name;
    public Color color;

    public Color getColor() {
        return color;
    }

    public void setColor(Color color) {
        this.color = color;
    }

    Flower(String name,Color color)
    {
        this.name=name;
        this.color = color;
    }

    public String toString()
    {
        return name;
    }
}

定义一个EnumMap,键为Flower.Color即enum类型,每种颜色对应于一个Flower的Set,这样可以通过颜色对Flower进行分类

Map<Flower.Color,Set<Flower>> map = new EnumMap<Flower.Color,Set<Flower>>(Flower.Color.class);

for(Color c : Flower.Color.values())
{
    map.put(c, new HashSet<Flower>());
}

Flower flower = new Flower("梅花",Color.white);

map.get(flower.getColor()).add(flower);

你可能感兴趣的:(enumMap)