Java根据一列对二维数组排序

在Java中,我的数组中有一个数据,如下所示

2019.07.25 20:24 Message A

2019.07.25 20:17 Message G

2019.07.25 20:25 Message B

2019.07.25 20:30 Message D

2019.07.25 20:01 Message F

2019.07.25 21:08 Message E

2019.07.25 19:54 Message R

我想根据第一列对其进行排序,所以我的最终数据可以像这样

2019.07.25 19:54 Message R

2019.07.25 20:01 Message F

2019.07.25 20:17 Message G

2019.07.25 20:24 Message A

2019.07.25 20:25 Message B

2019.07.25 20:30 Message D

2019.07.25 21:08 Message E

第一列是格式为“ yyyy.MM.dd HH:mm”的日期,第二列是字符串。

回答:

根据一列

对二维数组进行排序第一列是日期格式为“ yyyy.MM.dd HH:mm”的日期,第二列是字符串。

因为您说的是二维数组,所以我假设“格式日期…”表示字符串。这是用于对String [] []的二维数组进行排序的代码:

import java.util.Arrays;

import java.util.Comparator;

public class Asdf {

public static void main(final String[] args) {

final String[][] data = new String[][] {

new String[] { "2019.07.25 20:24", "Message A" },

new String[] { "2019.07.25 20:17", "Message G" },

new String[] { "2019.07.25 20:25", "Message B" },

new String[] { "2019.07.25 20:30", "Message D" },

new String[] { "2019.07.25 20:01", "Message F" },

new String[] { "2019.07.25 21:08", "Message E" },

new String[] { "2019.07.25 19:54", "Message R" } };

Arrays.sort(data, new Comparator<String[]>() {

@Override

public int compare(final String[] entry1, final String[] entry2) {

final String time1 = entry1[0];

final String time2 = entry2[0];

return time1.compareTo(time2);

}

});

for (final String[] s : data) {

System.out.println(s[0] + " " + s[1]);

}

}

}

输出:

2019.07.25 19:54 Message R

2019.07.25 20:01 Message F

2019.07.25 20:17 Message G

2019.07.25 20:24 Message A

2019.07.25 20:25 Message B

2019.07.25 20:30 Message D

2019.07.25 21:08 Message E

以上是 Java根据一列对二维数组排序 的全部内容, 来源链接: utcz.com/qa/431242.html

回到顶部