ホームページ  >  記事  >  Java  >  Javaで二次元配列をタイムスタンプでソートするにはどうすればよいですか?

Javaで二次元配列をタイムスタンプでソートするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-03 12:49:03572ブラウズ

How to Sort a Two-Dimensional Array by Timestamp in Java?

1 列による 2 次元配列のソート

Java では、特定の列に基づいて 2 次元配列をソートするのが一般的です配列の操作と並べ替え手法の理解が必要なタスクです。

問題ステートメント:

データを含む 2 次元配列が与えられ、最初の列はタイムスタンプと2 番目の列は文字列です。目的は、最初の列のタイムスタンプに基づいて配列を昇順に並べ替えることです。

実装の詳細:

効果的に並べ替えるには配列の場合、Java で配列をソートするのに非常に効率的な Arrays.sort() メソッドを利用します。並べ替え基準として、配列要素の最初の列のタイムスタンプを比較するカスタム Comparator 実装を定義します。

<code class="java">class TimestampComparator implements Comparator<String[]> {
  @Override
  public int compare(String[] a, String[] b) {
    return a[0].compareTo(b[0]);
  }
}</code>

main メソッドでは、2 次元配列を作成し、データで初期化します。次に、カスタム コンパレーターを使用して並べ替えます:

<code class="java">String[][] data = {...};
Arrays.sort(data, new TimestampComparator());</code>

コード スニペット:

<code class="java">import java.util.Arrays;
import java.util.Comparator;

public class ArraySorter {

  public static void main(String[] args) {
    String[][] data = {...};
    Arrays.sort(data, new Comparator<String[]>() {
      @Override
      public int compare(String[] a, String[] b) {
        return a[0].compareTo(b[0]);
      }
    });
    for (String[] row : data) {
      System.out.println(row[0] + " " + row[1]);
    }
  }
}</code>

出力:

ソートされた配列は次の形式で出力されます:

timestamp message

タイムスタンプは時系列の昇順に並べられます。

以上がJavaで二次元配列をタイムスタンプでソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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