[解決済み] JavaでCollections.sort()を使用するには?
2022-03-04 14:19:42
質問
オブジェクトを取得しました
Recipe
を実装している
Comparable<Recipe>
:
public int compareTo(Recipe otherRecipe) {
return this.inputRecipeName.compareTo(otherRecipe.inputRecipeName);
}
そうすることで、ソートされた
List
をアルファベット順に表示する方法です。
public static Collection<Recipe> getRecipes(){
List<Recipe> recipes = new ArrayList<Recipe>(RECIPE_MAP.values());
Collections.sort(recipes);
return recipes;
}
しかし、今度は別のメソッドで、次のように呼び出すことができます。
getRecipesSort()
同じリストを、IDを含む変数と比較しながら、数値でソートしたい。さらに悪いことに、IDフィールドの型は
String
.
JavaでCollections.sort()を使ってソートを実行するにはどうすればよいですか?
どのように解決するのですか?
この方法を使用する
Collections.sort(リスト,コンパレータ)
. を実装します。
コンパレータ
に渡し、それを
Collections.sort().
class RecipeCompare implements Comparator<Recipe> {
@Override
public int compare(Recipe o1, Recipe o2) {
// write comparison logic here like below , it's just a sample
return o1.getID().compareTo(o2.getID());
}
}
次に
Comparator
として
Collections.sort(recipes,new RecipeCompare());
関連
-
[解決済み] Java Genericメソッドをstaticにするには?
-
[解決済み] 警告: コンテキスト初期化中に例外が発生 - 更新の試みはキャンセルされました。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] 山積みされた靴下を効率よく組み合わせるには?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Jdbctemplate の文字列に対するクエリです。EmptyResultDataAccessException: 不正な結果サイズ:期待値1、実際0
-
[解決済み] Application startメソッドで例外が発生する。JavaFx 11
-
[解決済み] パラメータ[変数]の不正な修飾子;finalのみが許可される[closed]。
-
[解決済み] 環境変数JAVA_OPTSの使い方を教えてください。
-
[解決済み] java.lang.IncompatibleClassChangeError: Mongo クラスを実装しています。
-
[解決済み] プロトコルハンドラの初期化に失敗しました。
-
[解決済み] raw 型のメンバへのアンチェックの呼び出し
-
[解決済み] 午前0時からの時間を秒単位で取得する方法
-
[解決済み] どのように配列の10未満の値(x * 2)を倍増するコードを取得するには?(Java)
-
[解決済み] タイプの安全性。アンチェック・キャスト