配列を逆に並べ替える
多くのプログラミング言語には、配列を昇順に並べ替える便利な関数が用意されています。しかし、次のような疑問が生じます: 配列を降順にソートするための同様のアプローチはありますか?
Java の Arrays クラス
Java では、Arrays クラスは sort() を提供します。配列をソートするメソッド。ただし、このメソッドには降順の直接のサポートがありません。 1 つのオプションは、コンパレータを使用して要素の逆順を定義することです。
コンパレータの使用
Arrays.sort() を使用すると、コンパレータを指定して要素の順序を決定できます。並べ替え順序。 Collections クラスは、自然な順序を反転する Comparator を作成する reverseOrder() メソッドを提供します。
Arrays.sort(a, Collections.reverseOrder());
このアプローチは、整数配列などのオブジェクトの配列を並べ替える場合に機能します。ただし、int 配列などのプリミティブ配列の場合は失敗します。
プリミティブ配列の代替方法
プリミティブ配列を降順で並べ替えるには、まず昇順で並べ替える必要があります。 Arrays.sort() を使用して並べ替えてから、配列要素を手動で逆にします。
Arrays.sort(a); for (int i = 0, j = a.length - 1; i < j; i++, j--) { int temp = a[i]; a[i] = a[j]; a[j] = temp; }
これらの手法を使用すると、配列にオブジェクトが含まれているかプリミティブが含まれているかに関係なく、配列を降順で並べ替えることができます。
以上がJavaで配列を逆順にソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。