如何将两个数组合并为一个相应的2d数组?

时间:2018-04-06 02:57:32

标签: java arrays loops multidimensional-array

所以我有两个数组:

        String movieList[] = {
            "A",
            "B",
            "C",
            "D",
            "E"
    };

    int gross[] = {
            623,
            333,
            516,
            389,
            448
    };

所以我看到了两个数组相结合的问题,但是如何通过它的相应索引来做呢?

例如:

我正在努力做到这一点:

result[][] = {{"A",1},{"B",2},{"C",3}...};

感谢您提供任何帮助或建议!!

3 个答案:

答案 0 :(得分:4)

您正尝试将两种不同的数据类型合并为一种。

你可以:

  • 将int数组转换为String
  • 创建一个类,并将String对象和int值封装在一个对象中。

你需要了解你想要做的事情的缺陷!

答案 1 :(得分:1)

这是我的代码:

String movieList[] = { "A", "B", "C", "D", "E" };
int gross[] = { 623, 333, 516, 389, 448 };
Object obj[][] = new Object[movieList.length][2];
for (int i = 0; i < movieList.length; i++) {
    obj[i][0] = movieList[i];
    obj[i][1] = gross[i];
}

答案 2 :(得分:1)

您的确切情况的一个选项是构建电影键和总值的哈希映射。然后,使用像Jackson这样的库将该映射转换为JSON字符串:

Map<String,String> map = new HashMap<>();
for (int i=0; i < movieList.length; ++i) {
    map.put(movieList[i], String.valueOf(gross[i]));
}

String json = new ObjectMapper().writeValueAsString(map);
System.out.println(json);