Java:我可以在Hashmaps中使用数组吗?

时间:2011-03-31 16:50:31

标签: java

我可以在Hashmaps中使用数组吗?

如果是这样,声明这样的hashmap的确切语法是什么?

感谢

5 个答案:

答案 0 :(得分:5)

数组也是对象。甚至像int[]这样的原始数组。

Map<String,String[]> map = new HashMap<String,String[]>();

答案 1 :(得分:2)

值?没关系,数组是一个对象。

键?不那么容易 - 见这里:

Using a byte array as Map key

答案 2 :(得分:1)

是。下面是一个使用int []作为值的示例。示例here

Map<String, int[]> map = new TreeMap<String, int[]>();

答案 3 :(得分:0)

HashMap<String, String[]> ab = new HashMap<String, String[]>();

答案 4 :(得分:0)

我认为你应该使用ArrayList而不是原始数组。在HashMap类中完成了==比较。

所以,你可以这样:

HashMap<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();

当映射检查数组中是否存在某个元素(给定其键“k”)时,它会计算其哈希码。如果在该位置“k”处有一些元素,则可能产生一个colision,因此它检查元素是否相同。对于基元数组可能会遇到麻烦的东西。