我可以在Hashmaps中使用数组吗?
如果是这样,声明这样的hashmap的确切语法是什么?
感谢
答案 0 :(得分:5)
数组也是对象。甚至像int[]
这样的原始数组。
Map<String,String[]> map = new HashMap<String,String[]>();
答案 1 :(得分:2)
答案 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,因此它检查元素是否相同。对于基元数组可能会遇到麻烦的东西。