在创建期间填充哈希映射

时间:2011-01-27 09:54:42

标签: java collections initialization

  

可能重复:
  How to Initialise a static Map in Java

如何在初始化时用Java填充HashMap,可能是这样的吗?

public static Map<byte,int> sizeNeeded=new HashMap<byte,int>(){1,1};

2 个答案:

答案 0 :(得分:57)

byte,int是原始的,集合在对象上工作。你需要这样的东西

public static Map<Byte, Integer> sizeNeeded = new HashMap<Byte, Integer>() {

        {
            put(new Byte("1"), 1);
            put(new Byte("2"), 2);
        }

        ;
    };

这将创建一个新地图并使用initializer block它将调用put方法来填充数据

答案 1 :(得分:2)

首先,您不能将原语作为Java中的泛型类型参数,因此Map<byte,int>是不可能的,它必须是Map<Byte,Integer>

第二,不,现在Java中没有集合文字,尽管它们被视为Project Coin中的新功能。不幸的是,他们从Java 7中删除了,你必须等到Java 8 ......