排序一个多维对象或数组的int



是否有一种方法来排序多维对象?

Object[][] datetable= new Object[2][2];
    datetable[0][0] = 2;
    datetable[0][1] = "Name2";
    datetable[1][0] = 1;
    datetable[1][1] = "Name1";

如果不是,我如何排序一个多维int数组?

int[][] numtable= new int[2][2];
    numtable[0][0] = 2;
    numtable[0][1] = 20;
    numtable[1][0] = 1;
    numtable[1][1] = 10;

我想使用第一组数字(可计数表[x]或日期表[x])进行排序。我可以得到一个多维字符串排序没有问题,但这些我有麻烦。

int型数组的排序是通过使用Integer对象和比较器完成的,类似于hotveryspicy的答案,如下所示:

Integer[][] numtable = new Integer[2][2];
numtable[0][0] = 2;
numtable[0][1] = 20;
numtable[1][0] = 1;
numtable[1][1] = 10;
Arrays.sort(numtable, new Comparator<Integer[]>() {
    @Override
    public int compare(Integer[] int1, Integer[] int2) {
        return int1[0].compareTo(int2[0]);
    }
});

然而,从你的评论中,你似乎表明你会有一个5x12的对象数组,其中穿插着字符串和整数,它们彼此不相关(排序失去了你的项目之间的任何连接,这就是让我这样想的原因),你似乎正在合并成一个多维数组,而不是单独的列表(这就是我可能会怎么去)。

如果要转换为int型/字符串的List,则使用以下命令对它们进行排序,在本例中,显示int型版本:

List<Integer> myList = new ArrayList<Integer>();
myList.add(2);
myList.add(1);
Collections.sort(myList);
System.out.println("myList is: " + myList);

相关内容

  • 没有找到相关文章

最新更新