我想知道是否可以使用arraylists将两个单维数组转换为一个二维数组。
这是我的代码:
String[] user = (String[])compList.toArray(new String[usersList.size()]);
String[] computer = (String[])compList.toArray(new String[compList.size()]);
答案 0 :(得分:1)
我假设
String[] user = (String[])compList.toArray(new String[usersList.size()]);
应该是
String[] user = (String[])usersList.toArray(new String[usersList.size()]);
我不认为这是可能的,假设你想要像
这样的东西String comuterUser[][]
其中computerUser[0]
是用户,computerUser[1]
是计算机。您将不得不遍历列表并填充数组。类似的东西(假设两个列表长度相等):
String computerUser[][] = new String[usersList.size()][];
for (int i = 0; i < computerUser.lenth; i++) {
computerUser[i] = new String[]{ usersList.get(i), compList.get(i) };
}
最好有两个列表ArrayList
用于快速查找。我没有测试过上面的内容,但它应该可以工作。
答案 1 :(得分:0)
您可以使用System.arrayCopy组合数组。
private String[][] wideArray(String[] zero, String[] one) {
String[][] combined=new String[2][Math.max(zero.length, one.length)];
System.arraycopy(zero, 0, combined[0], 0, zero.length);
System.arraycopy(one, 0, combined[1], 0, one.length);
return combined;
}