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

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

Barbara Streisand
リリース: 2024-12-19 13:07:10
オリジナル
861 人が閲覧しました

How to Efficiently Find a Carnet Object in an ArrayList by its codeIsin Property?

プロパティ値に基づいて ArrayList からオブジェクトを取得する

当面のタスクは、特定のオブジェクト、つまり Carnet インスタンスをArrayList

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);
}
ログイン後にコピー

このメソッドは、stream() を利用してリストを走査し、filter() を利用して codeIsin 値が一致するオブジェクトのみを選択します。 findFirst() は最初に一致する要素を取得し、一致が見つからない場合は orElse() は null を返します。

汎用ユーティリティ クラスのアプローチ

複数のオブジェクト タイプ ( Carnet だけでなく)、または複数の検索プロパティ (codeIsin だけでなく) が関係している場合は、検索をカプセル化するユーティリティ クラスの作成を検討してください。ロジック:

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()));
    }
    // Additional methods for other search criteria
}
ログイン後にコピー

このアプローチでは、検索ロジックを一元化し、さまざまなオブジェクト タイプや検索プロパティ間で簡単に再利用できます。

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

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