按特定列對二維字串陣列進行排序
在Java 中,我們可能會遇到需要組織儲存在兩個數組中的資料的情況維(2D)數組。為了有效地完成這種排序,我們可以利用 Arrays.sort() 方法以及自訂比較器。
考慮以下範例:我們有一個二維字串數組,其中第一列表示時間戳,第二列表示時間戳列包含一條訊息。我們的目標是根據時間戳按升序對陣列進行排序。
為了實現這一點,我們可以定義一個實作 Comparator 介面的類別。此類別將提供比較數組中元素的邏輯:
<code class="java">class TimestampComparator implements Comparator<String[]> { @Override public int compare(String[] entry1, String[] entry2) { return entry1[0].compareTo(entry2[0]); } }</code>
在此比較器中,我們從數組中的每個條目中提取時間戳值,並使用String.compareTo() 方法對它們進行比較。
比較器就位後,我們現在可以繼續排序:
<code class="java">Arrays.sort(data, new TimestampComparator());</code>
這裡,data 代表原始的二維陣列。
排序後,資料將是根據第一列中的時間戳進行組織。結果輸出將是:
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 中按特定列對 2D 字串陣列進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!