ホームページ >Java >&#&チュートリアル >Javaで2D文字列配列を特定の列でソートするにはどうすればよいですか?

Javaで2D文字列配列を特定の列でソートするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-04 01:33:03369ブラウズ

How to Sort a 2D String Array by a Specific Column in Java?

特定の列による 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。