我在java中使用Arrays.Sort()函数来对存储名称和相应数字的2D数组中的名称进行排序。我希望数字保留在与相应名称相同的索引中。我该怎么做?
提前致谢。
CODE
String[][] contact = new String[3][3];
contact[0][0] = "b";
contact[0][1] = "c";
contact[0][2] = "a";
contact[1][0] = "2";
contact[1][1] = "3";
contact[1][2] = "1";
Arrays.sort(contact[0]);
示例:
b c a
2 3 1
输出:
a b c
2 3 1
我想得到:
a b c
1 2 3
答案 0 :(得分:2)
在对数组进行排序之前,先复制它,然后在排序后循环排序并使用originalArray.indexOf(newArray[i])
获取字符串的原始索引,然后将新的“索引数组”[i]设置为原始索引数组的值[字符串的原始索引]。
在使用Arrays.asList(originalArray)
执行此操作之前,您需要将原始数组转换为列表。
答案 1 :(得分:0)
public class MatrixCell{
private Integer x = 0;
private Integer y = 0;
private String name = "";
public MatrixCell(int x, int y, String name){
this.x = x;
this.y = y;
this.name = name;
}
//getters and setters
}
然后创建一个MatrixCell数组并完成。虽然这种方式你也必须制作排序算法。