import java.util.*;
public class TestEnumMap
{
enum Size
{
  Small,
  Medium,
  Large;
}
public static void main(String[] args)
{
//Map<Size,Double>Map=new EnumMap<Size,Double>(Size.class);这里什么意思啊
Map.put(Size.Small,0.8);//还有这里啊
Map.put(Size.Medium,1.0);
Map.put(Size.Large,1.2);
for(Map.Entry<Size,Double>entry:Map.entrySet())
{
helper(entry);
}
}
private static void helper(Map.Entry<Size,Double>entry)
{
System.out.println("Map entry:"+entry);
}
}

解决方案 »

  1.   

    Map<Size,Double>Map=new EnumMap<Size,Double>(Size.class)
    这句话的意思首先实例话一个map容器  它里面存放的类型(枚举,double) 
    EnumMap创建一个其键类型与指定枚举映射相同的枚举映射,最初包含相同的映射关系
    map.put是往容器中添加数据(枚举,double)
      

  2.   

    楼主可以看看 java中关于 泛型 的资料。呵呵
      

  3.   


    public class Test { public static void main(String[] args) {
    Size[] d = Size.values();
    for (int i = 0; i < d.length; i++) {
    System.out.println(d[i].name() + " is " + d[i].getValue());
    }
    }}enum Size { SMALL(0.8), MEDIUM(1.0), LARGE(1.2);
    private Double value; Size(Double value) {
    this.value = value;
    } public Double getValue() {
    return value;
    } public void setValue(Double value) {
    this.value = value;
    }}
      

  4.   

    //Map<Size,Double>Map=new EnumMap<Size,Double>(Size.class);这里什么意思啊Map是泛型类,他的原形是Map<T1,T2>;
    就是说,你在使用是要说明你所定义的Map<T1,T2>中的T1,T2分别是什么
    比如说Map<String,Integer> map1=new Map<String,Integer>();
    这样就可以在Map中保存(String,Integer)类型的节点;
    Map的这种定义主要是使Map能适应各种不同的场合;Map.put(Size.Small,0.8);//还有这里啊因此Map<Size,Double>保存的是(size,double)的节点,put就是向表中添加数据Size.Small为Size类型的值,为枚举类型,所以值为0;double为0.8.结果就是向表中添加一个数据(0,0.8)