0
final HashMap<Integer, HashMap<Integer, Integer[]>> teams;
   teams= new HashMap<Integer, HashMap<Integer, Integer[]>>();


    teams.put(1,new HashMap<Integer, Integer[]>(){{
        put(2,new Integer[] { 1,0});}}); 
        System.out.println(teams.get(1).get(2));

我正在尝试在 java 中实现散列的散列。我需要打印存储在哈希哈希中的整数数组。在这方面的任何帮助将不胜感激。

4

2 回答 2

1

您的代码是正确的(我只在此处重新缩进),并且我在您的 println 调用中添加了对Arrays.toString方法的调用。

final HashMap<Integer, HashMap<Integer, Integer[]>> teams;
teams = new HashMap<Integer, HashMap<Integer, Integer[]>>();

teams.put(1, new HashMap<Integer, Integer[]>() {
  {
    put(2, new Integer[] { 1, 0 });
  }
});
System.out.println(Arrays.toString(teams.get(1).get(2)));
于 2013-11-18T08:37:01.937 回答
0

注意:代码 teams.get(1).get(2)返回 Integer[] 类型。

teams.get(1)将得到一个 HashMap,在示例中,它的键是 2,它的值是一个整数数组 (Integer[]),其中元素为 [1,0]

teams.get(1).get(2)返回值,其类型为Integer[].

你不能通过直接打印它的值, 因为 toString 没有实现System.out.println(teams.get(1).get(2))

有两种方法可以打印数组中的元素,如下所示:

1 您可以使用其索引打印数组中的元素,

喜欢

     System.out.println(teams.get(1).get(2)[0]);//print 1
     System.out.println(teams.get(1).get(2)[1]);//Print 0

或者

2 使用Arrays.toStringmenthod 打印数组中的所有元素,

喜欢

     System.out.println(Arrays.toString(teams.get(1).get(2)));//Print [1,0]
于 2013-11-18T08:59:06.490 回答