ホームページ > Java > &#&チュートリアル > Java でカスタム コンパレータを使用して車のデータ テーブルを色で並べ替えるにはどうすればよいですか?

Java でカスタム コンパレータを使用して車のデータ テーブルを色で並べ替えるにはどうすればよいですか?

DDD
リリース: 2024-12-10 20:25:11
オリジナル
577 人が閲覧しました

How Can I Sort a Data Table of Cars by Color Using a Custom Comparator in Java?

データ テーブルのコンパレータを使用したカスタム並べ替え

データ テーブルを使用して車のリストを表示し、車の色で並べ替えたいと述べました。 、アルファベット順ではありません。これを実現するには、Java の Comparator インターフェイスを利用できます。

Comparable と Comparator を使用しようとしましたが、アルファベット順での並べ替えしかできないようです。カスタム Comparator を使用した拡張アプローチは次のとおりです。

提案されているように、車の色の列挙型を定義することから始めます。

public enum PaintColors {
    SILVER, BLUE, MAGENTA, RED
}
ログイン後にコピー

PaintColors 列挙型に基づいて比較するように ColorComparator を更新します。

static class ColorComparator implements Comparator<Car> {

    public int compare(Car c1, Car c2) {
        return c1.getColor().compareTo(c2.getColor());
    }
}
ログイン後にコピー

Car の String color フィールドを PaintColors に置き換えます。 enum:

private PaintColors color;
ログイン後にコピー

メイン メソッドで、車のリストを更新し、カスタム コンパレーターを使用して並べ替えます:

carList.add(new Car("Ford", PaintColors.SILVER));

...

Collections.sort(carList, new ColorComparator());
ログイン後にコピー

このアプローチでは、列挙型を使用して車の色を表現し、次のことを定義できます。 enum宣言内のカスタムソート順序。 ColorComparator は、定義された順序を使用して車のリストを効率的に並べ替えます。

以上がJava でカスタム コンパレータを使用して車のデータ テーブルを色で並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート