ホームページ >Java >&#&チュートリアル >プロパティ値によって ArrayList 内のオブジェクトを効率的に検索する方法

プロパティ値によって ArrayList 内のオブジェクトを効率的に検索する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-12-06 20:58:13740ブラウズ

How to Efficiently Find an Object in an ArrayList by Property Value?

プロパティによる ArrayList 内のオブジェクトの検索

クラス Carnet のオブジェクトを含む ArrayList が与えられた場合、どのようにして特定のオブジェクトを効率的に取得できますか? codeIsin?

Solution などの特定のプロパティの値について(Java 8 ストリーム):

Java 8 では、ストリームを利用してこの操作を簡潔に実行できます:

public static Carnet findByCodeIsIn(Collection<Carnet> listCarnet, String codeIsIn) {
    return listCarnet.stream().filter(carnet -> codeIsIn.equals(carnet.getCodeIsin())).findFirst().orElse(null);
}

ユーティリティ クラス アプローチ (オプション):

多くの異なるクラスまたはさまざまなプロパティに対してこのような検索を実行する必要がある場合は、次のようにすることができます。このロジックをユーティリティ クラスにカプセル化します:

public final class FindUtils {
    public static <T> T findByProperty(Collection<T> col, Predicate<T> filter) {
        return col.stream().filter(filter).findFirst().orElse(null);
    }
}

public final class CarnetUtils {
    public static Carnet findByCodeTitre(Collection<Carnet> listCarnet, String codeTitre) {
        return FindUtils.findByProperty(listCarnet, carnet -> codeTitre.equals(carnet.getCodeTitre()));
    }

    // Similar methods for other properties (e.g., findByNomTitre, findByCodeIsIn)
}

このアプローチにより、より再利用可能なソリューションが提供され、検索条件を簡単に変更できます。

以上がプロパティ値によって ArrayList 内のオブジェクトを効率的に検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。