基於特定列對二維數組進行排序的任務在 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中文網其他相關文章!