[解決済み] コンパレータを使ったソート-降順(ユーザー定義クラス) [終了した記事]
2023-07-14 06:07:37
質問
comparatorを使って、オブジェクトを降順にソートしたい。
class Person {
private int age;
}
ここでは、Personオブジェクトの配列をソートしたいと思います。
どのようにすればよいのでしょうか?
どのように解決するのですか?
ユーザー定義クラスの降順ソートを行うには、この方法で compare() メソッドをオーバーライドします。
Collections.sort(unsortedList,new Comparator<Person>() {
@Override
public int compare(Person a, Person b) {
return b.getName().compareTo(a.getName());
}
});
または
を使うことで
Collection.reverse()
で降順にソートする場合は、ユーザー
プリンス
で言及した
コメント
.
そして、このように昇順ソートを行うことができます。
Collections.sort(unsortedList,new Comparator<Person>() {
@Override
public int compare(Person a, Person b) {
return a.getName().compareTo(b.getName());
}
});
上記のコードをLambda式(Java 8以降)に置き換えると、簡潔なコードになります。
Collections.sort(personList, (Person a, Person b) -> b.getName().compareTo(a.getName()));
Java 8 では、List は sort() メソッドがあり、これは 比較演算子 をパラメータとして受け取ります(より簡潔)。
personList.sort((a,b)->b.getName().compareTo(a.getName()));
ここで
a
であり
b
はラムダ式でPerson型と推論される。
関連
-
XXX型を囲むインスタンスがJavaでアクセスできない
-
JNIエンカウンターエラー:構造体またはユニオンではない何かでメンバー 'FindClass' のリクエスト
-
htmlとwordの相互変換の実装(画像あり)
-
ApiModel と @ApiModelProperty の使用法
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] コレクションを反復処理し、ループ内でオブジェクトを削除する際に ConcurrentModificationException を回避する。
-
[解決済み] Java 8 List<V> を Map<K, V> に変換する。
-
[解決済み] Java 8でリストのリストをリストにするにはどうしたらいいですか?
-
[解決済み] リスト/配列リストのソート方法は?
-
[解決済み] Java Array Sort descending?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スレッド "main "での例外 java.util.NoSuchElementException in Java 問題解決済み
-
Javaクラスが "Error occurred during initialization of boot layer "というエラーで実行される。
-
java.sql.SQLException: 結果セットの開始前
-
配列定数は初期化子でのみ使用可能です。
-
XXX型を囲むインスタンスがJavaでアクセスできない
-
Java基礎編 - オブジェクト指向
-
JNIエンカウンターエラー:構造体またはユニオンではない何かでメンバー 'FindClass' のリクエスト
-
htmlとwordの相互変換の実装(画像あり)
-
swagger2 モデルが表示されない モデルが見つからない @ApiModel アノテーションが表示されない問題
-
CAS 5.1.8でhttpをサポートし、認証されていない認可サービスエラーのプロンプトが表示される問題を解決した。