カスタムエンティティのコレクションを並べ替えるにはどうすればよいですか?

バーバラ

valueOne、valueTwo、valueThreeの順に並べ替える必要があるカスタムエンティティのリストがあります。

これが私のコードです

public class AppRunner {
    public static void main(String[] args) {

        Detail d1 = new Detail("valueOne");
        Detail d2 = new Detail("valueTwo");
        Detail d3 = new Detail("valueFive");
        Detail d4 = new Detail("valueTen");
        Detail d5 = new Detail("valueOne");
        Detail d6 = new Detail("valueOne");

        List<Detail> details = new ArrayList<Detail>(Arrays.asList(d1, d2, d3, d4, d5, d6));

        Collections.sort(details);
        System.out.println(details);
    }
}

私のエンティティクラス

public class Detail implements Comparable<Detail> {

    private String value; // there are three options: valueOne, valueTwo, and some other value

    public Detail(String value) {
        this.value = value;
    }

    @Override
    public int compareTo(Detail detail) {
        String val = detail.getValue();
        if (val.equals(this.value) && val.equals("valueOne")) {
            return 1;
        } else if (val.equals(this.value) && val.equals("valueTwo")) {
            return -1;
        } else {
            return 0;
        }
    }
    // getter, setters, toString
}

私はそれがcompareTo方法の助けが必要だと思います最後に、次の順序でリストを取得する必要があります。

  1. valueOne
  2. valueOne
  3. valueOne
  4. valueTwo
  5. valueFive
blgt

列挙型を使用して序数を比較します。

enum ValidValues { valueOne, valueTwo, valueThree }

... その後:

public int compareTo(Object detail) {
    return Integer.compare(ValidValues.valueOf(this.value).ordinal(),
                           ValidValues.valueOf(((Detail)detail).value).ordinal());
}

値の数が多い場合は、列挙型ではなく、コレクションまたはマップを使用してこれを行う価値がある場合があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Ebeanの関連エンティティを並べ替えるにはどうすればよいですか?

分類Dev

DynamoDBクエリ| すべてのレコードを最新のタイムスタンプで並べ替えるにはどうすればよいですか?

分類Dev

フィルタリングされた検索クエリを並べ替え/並べ替えて、Djangoの別のテンプレートにレンダリングするにはどうすればよいですか?

分類Dev

コレクション内の配列を並べ替えるにはどうすればよいですか?

分類Dev

カスタムフィールドのManyToManyリレーションテーブルをクエリするにはどうすればよいですか?

分類Dev

SQL Server ReportingServicesレポートの式列にインタラクティブな並べ替えを追加するにはどうすればよいですか

分類Dev

SQL Server ReportingServicesレポートの式列にインタラクティブな並べ替えを追加するにはどうすればよいですか

分類Dev

辞書エントリのリストを値で並べ替える(カスタム並べ替え)にはどうすればよいですか?

分類Dev

同じタイプのナビゲーションプロパティコレクションを持つEF6コードファーストエンティティ-EFに関係を伝えるにはどうすればよいですか?

分類Dev

C ++ 11は、カスタムオブジェクトのコレクションをいくつかのプロパティで並べ替えます

分類Dev

ブートパーティションをシステムパーティションに切り替えるにはどうすればよいですか

分類Dev

Laravelコレクションをascとdescの両方を持つ複数のプロパティで並べ替えるにはどうすればよいですか?

分類Dev

2つのカスタムフィールドで並べ替えるときに、チャネルエントリがedit_dateで並べ替えられないようにするにはどうすればよいですか?

分類Dev

postgresqlを使用して、文字列のカスタム並べ替え順序でクエリを並べ替えるにはどうすればよいですか?

分類Dev

SilverStripe 3.1カスタムフォームテンプレート-すべてのアクションをループせずに単一のアクションフィールドを出力するにはどうすればよいですか?

分類Dev

パンダスティックな方法で列の順序(並べ替え)を変更するにはどうすればよいですか?

分類Dev

パンダでセマンティックバージョンを並べ替えるにはどうすればよいですか?

分類Dev

コンパレータを使用してコレクション内の複数のフィールドを並べ替えるにはどうすればよいですか?

分類Dev

クエリセットにカスタムフィールドを追加して並べ替えるにはどうすればよいですか

分類Dev

コレクションをnullで並べ替え、後でリストを反転するにはどうすればよいですか?

分類Dev

コレクションを並べ替えて、Javaの上部/下部のデフォルト値を取得するにはどうすればよいですか?

分類Dev

Spring BootでJavaエンティティを複数のMongoDBコレクションにマップし、両方のコレクションに異なるインデックスを使用するにはどうすればよいですか?

分類Dev

配列の順序を使用してこのコレクションを並べ替えるにはどうすればよいですか?

分類Dev

エスプレッソアクティビティテストにカスタムアプリケーションクラスを提供するにはどうすればよいですか?

分類Dev

このドクトリンクエリによって返されるエンティティオブジェクトの配列を並べ替えるにはどうすればよいですか?

分類Dev

anglejsカスタムディレクティブのテンプレートで属性値を取得するにはどうすればよいですか?

分類Dev

App Engineのデータストアで64ビットの符号なし整数をエンティティキーとして使用し、並べ替え順序を保持するにはどうすればよいですか?

分類Dev

Circeでオプションタイプのカスタムエンコーディングを作成するにはどうすればよいですか?

分類Dev

Djangoテンプレートでカスタムフォームエラーセクションを作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    Ebeanの関連エンティティを並べ替えるにはどうすればよいですか?

  2. 2

    DynamoDBクエリ| すべてのレコードを最新のタイムスタンプで並べ替えるにはどうすればよいですか?

  3. 3

    フィルタリングされた検索クエリを並べ替え/並べ替えて、Djangoの別のテンプレートにレンダリングするにはどうすればよいですか?

  4. 4

    コレクション内の配列を並べ替えるにはどうすればよいですか?

  5. 5

    カスタムフィールドのManyToManyリレーションテーブルをクエリするにはどうすればよいですか?

  6. 6

    SQL Server ReportingServicesレポートの式列にインタラクティブな並べ替えを追加するにはどうすればよいですか

  7. 7

    SQL Server ReportingServicesレポートの式列にインタラクティブな並べ替えを追加するにはどうすればよいですか

  8. 8

    辞書エントリのリストを値で並べ替える(カスタム並べ替え)にはどうすればよいですか?

  9. 9

    同じタイプのナビゲーションプロパティコレクションを持つEF6コードファーストエンティティ-EFに関係を伝えるにはどうすればよいですか?

  10. 10

    C ++ 11は、カスタムオブジェクトのコレクションをいくつかのプロパティで並べ替えます

  11. 11

    ブートパーティションをシステムパーティションに切り替えるにはどうすればよいですか

  12. 12

    Laravelコレクションをascとdescの両方を持つ複数のプロパティで並べ替えるにはどうすればよいですか?

  13. 13

    2つのカスタムフィールドで並べ替えるときに、チャネルエントリがedit_dateで並べ替えられないようにするにはどうすればよいですか?

  14. 14

    postgresqlを使用して、文字列のカスタム並べ替え順序でクエリを並べ替えるにはどうすればよいですか?

  15. 15

    SilverStripe 3.1カスタムフォームテンプレート-すべてのアクションをループせずに単一のアクションフィールドを出力するにはどうすればよいですか?

  16. 16

    パンダスティックな方法で列の順序(並べ替え)を変更するにはどうすればよいですか?

  17. 17

    パンダでセマンティックバージョンを並べ替えるにはどうすればよいですか?

  18. 18

    コンパレータを使用してコレクション内の複数のフィールドを並べ替えるにはどうすればよいですか?

  19. 19

    クエリセットにカスタムフィールドを追加して並べ替えるにはどうすればよいですか

  20. 20

    コレクションをnullで並べ替え、後でリストを反転するにはどうすればよいですか?

  21. 21

    コレクションを並べ替えて、Javaの上部/下部のデフォルト値を取得するにはどうすればよいですか?

  22. 22

    Spring BootでJavaエンティティを複数のMongoDBコレクションにマップし、両方のコレクションに異なるインデックスを使用するにはどうすればよいですか?

  23. 23

    配列の順序を使用してこのコレクションを並べ替えるにはどうすればよいですか?

  24. 24

    エスプレッソアクティビティテストにカスタムアプリケーションクラスを提供するにはどうすればよいですか?

  25. 25

    このドクトリンクエリによって返されるエンティティオブジェクトの配列を並べ替えるにはどうすればよいですか?

  26. 26

    anglejsカスタムディレクティブのテンプレートで属性値を取得するにはどうすればよいですか?

  27. 27

    App Engineのデータストアで64ビットの符号なし整数をエンティティキーとして使用し、並べ替え順序を保持するにはどうすればよいですか?

  28. 28

    Circeでオプションタイプのカスタムエンコーディングを作成するにはどうすればよいですか?

  29. 29

    Djangoテンプレートでカスタムフォームエラーセクションを作成するにはどうすればよいですか?

ホットタグ

アーカイブ