基于特定列对二维数组进行排序的任务在 Java 中提出了独特的挑战。为了实现这一目标,以下解决方案深入研究了问题的细节,并提供了全面的代码实现。
提供的输入由一个二维数组组成,其中第一列表示格式为“yyyy. MM.dd HH:mm”,第二列包含字符串。目标是按第一列对此数组进行排序,从而使日期按时间顺序排列。
提供的 Java 代码使用内置的 Arrays.sort() 方法与比较器结合以实现所需的排序。比较器定义了比较数组元素的规则,特别关注第一列(日期)。该代码使用compareTo()方法比较日期,该方法返回一个整数值,指示日期的相对时间顺序。
<code class="java">import java.util.Arrays; import java.util.Comparator; public class TwoDArraySort { public static void main(final String[] args) { final String[][] data = new String[][] { new String[] { "2009.07.25 20:24", "Message A" }, new String[] { "2009.07.25 20:17", "Message G" }, new String[] { "2009.07.25 20:25", "Message B" }, new String[] { "2009.07.25 20:30", "Message D" }, new String[] { "2009.07.25 20:01", "Message F" }, new String[] { "2009.07.25 21:08", "Message E" }, new String[] { "2009.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]); } } }</code>
提供的代码的输出如下如下所示:
2009.07.25 19:54 Message R 2009.07.25 20:01 Message F 2009.07.25 20:17 Message G 2009.07.25 20:24 Message A 2009.07.25 20:25 Message B 2009.07.25 20:30 Message D 2009.07.25 21:08 Message E
此输出表明二维数组已成功按第一列排序,从而得到日期的时间顺序。
以上是如何在Java中按特定列对二维数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!