プロパティによる 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 サイトの他の関連記事を参照してください。