我正在学习Java编程。
我有一个任务,需要将二维数组转换为地图
Object[][] args = new Object[][]{
{'1', 1},
{' ', 5},
{'2', 2},
{'3', 3},
{'4', 4},
{'5', 5},
{'6', 6}};
Map<Character, Integer> expectedResult = arrayToMap(args);
我写了一个方法:
public Map<Character, Integer> arrayToMap(Object[][] args) {
Map map = new LinkedHashMap();
for (Object[] i : args) {
for (Object j : i) {
map.put(i, j);
}
}
return map;
}
但我不明白为什么它不能转换字符。输入:
Expected :{[Ljava.lang.Object;@6b1274d2=1, [Ljava.lang.Object;@7bc1a03d=5, [Ljava.lang.Object;@70b0b186=2, [Ljava.lang.Object;@ba8d91c=3, [Ljava.lang.Object;@7364985f=4, [Ljava.lang.Object;@5d20e46=5, [Ljava.lang.Object;@709ba3fb=6}
Actual :{1=1, =5, 2=2, 3=3, 4=4, 5=5, 6=6}
请告诉我,我做错了什么
i
是一个数组,所以当你把它作为映射的键时,你会得到一个
映射
您不需要嵌套循环:
public Map<Character, Integer> arrayToMap(Object[][] args) {
Map<Character, Integer> map = new LinkedHashMap<>();
for (Object[] i : args) {
map.put((Character) i[0], (Integer) i[1]);
}
return map;
}
2D数组的每个内部数组都应该成为输出
映射中的一对键和值。
问题内容: 我有这种数组 我需要将其转换为一维数组。我怎样才能做到这一点? 例如这样 任何内置函数的php均可用于此数组转换? 问题答案: 对于您有限的用例,可以这样做: 当子数组对此有很多条目时,可以将其更一般化:
问题内容: 我已经有了用于将一维二维转换为一维二维的代码,但是我不知道如何将其转换。这是我的代码: 问题答案: 您正在寻找类似的东西: 与以下内容相同: 但试图帮助进一步解释这个概念。
问题内容: 我想知道如何将2维数组转换为1维数组。我想出了一些代码,但是它似乎并不起作用。有人可以帮帮我吗?谢谢。 [edit]非常感谢。是否可以将String [] []中的每一行转换为String []中的索引,例如,如果我们转换String [] [](以上代码),那么当我打印出array [0]时,它应该打印哑巴,哑巴,哑巴[编辑] 问题答案: 或一次添加整行: 编辑: 从对我的答案的评论
问题内容: 我想通过指定2D数组中的列数将一维数组转换为二维数组。可能会像这样工作: numpy是否具有与我的虚构函数“ vec2matrix”相似的功能?(我知道您可以像2D数组一样索引1D数组,但这不是我拥有的代码中的选项- 我需要进行此转换。) 问题答案: 您要阵列。 其中,根据输入数组的大小推断新维的大小。
问题内容: 我有一个Object的二维数组。所以我有。将其转换为Java 的最佳方法是什么? 问题答案: 对于任何二维数组,这都是一种不错的方法,假设您希望按以下顺序进行操作: [[array [0] -elems],[array [1] elems] …]
问题内容: 如果我在C#中有一个二维数组-如何将其转换为包含二维数组的JSON字符串? 例如。 在JSON对象中给出一个平面的一维数组。Microsoft文档指出: “多维数组被序列化为一维数组,应该将其用作平面数组。” 问题答案: 您可以使用锯齿状数组而不是二维数组,其定义如下: 然后,JavascriptSerializer会将其序列化为[[#,#,#,#],[#,#,#,#]等形式]