ホームページ >Java >&#&チュートリアル >Javaで2D文字列配列を特定の列でソートするにはどうすればよいですか?
特定の列による 2D 文字列配列の並べ替え
Java では、2 つの列に格納されたデータを整理する必要がある状況に遭遇することがあります。 -次元 (2D) 配列。この並べ替えを効果的に行うには、Arrays.sort() メソッドとカスタム コンパレーターを利用できます。
次の例を考えてみましょう。最初の列がタイムスタンプを表し、2 番目の列が表される文字列の 2D 配列があります。列にはメッセージが含まれています。私たちの目標は、タイムスタンプに基づいて配列を昇順に並べ替えることです。
これを達成するには、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>
ここで、データは元の 2D 配列を表します。
並べ替え後のデータは次のようになります。最初の列のタイムスタンプに基づいて編成されます。結果の出力は次のようになります:
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 中国語 Web サイトの他の関連記事を参照してください。