gpt4 book ai didi

java - 如何按特定列对java中的二维整数数组进行排序

转载 作者:行者123 更新时间:2023-11-30 04:03:48 26 4
gpt4 key购买 nike

我有一个包含日期的二维整数数组:月份位于索引 0,日期位于索引 1,年份位于索引 2

date [0][0] = 10;
date [0][1] = 14;
date [0][2] = 2013;
System.out.println(date[0][0] + "-" + date[0][1] + "-" + date[0][2]);

输出:

10-14-2013

如果我有很多这些,是否可以按时间顺序对这些日期进行排序?

这是我到目前为止所拥有的:

for(int i =0; i < date.length; i++)
{
Arrays.sort(date[i]);
}

但是,这却改变了我的日期和月份。

经过查找,发现栈上有几个人在使用comparator类进行排序。可以用吗?

最佳答案

尽管使用日期对象更有意义(您位于 object denial ),但使用自定义比较器对此二维数组进行排序并不难:

Arrays.sort(data, new Comparator<int[]>() {
public int compare(int[] a, int[] b) {
// compare years
if (a[2] == b[2]) {
// compare months
if (a[0] == b[0]) {
return Integer.compare(a[1], b[1]);
} else {
// compare days
return Integer.compare(a[0], b[0]);
}
} else {
return Integer.compare(a[2], b[2]);
}
}
});

关于java - 如何按特定列对java中的二维整数数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21275555/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com