昇順で並べ替えるのと同じように、降順で配列を並べ替える簡単な方法はありますか?配列クラス?
それとも怠けるのをやめて自分でやらないといけないのでしょうか:[
ベストアンサー1
これを使ってあらゆる種類のオブジェクトを並べ替えることができます
sort(T[] a, Comparator<? super T> c)
Arrays.sort(a, Collections.reverseOrder());
Arrays.sort()
プリミティブ配列を降順でソートするために直接使用することはできません。Arrays.sort()
で定義された逆 Comparator を渡してメソッドを呼び出そうとするとCollections.reverseOrder()
、エラーが発生します。
sort(int[],comparator) に適したメソッドが見つかりません
これは、整数配列などの「オブジェクトの配列」では正常に機能しますが、int 配列などのプリミティブ配列では機能しません。
プリミティブ配列を降順で並べ替える唯一の方法は、まず配列を昇順で並べ替え、次にその場で配列を反転することです。これは、2 次元プリミティブ配列にも当てはまります。