Maison >Java >javaDidacticiel >Comment rechercher efficacement un objet Carnet dans une ArrayList grâce à sa propriété codeIsin ?

Comment rechercher efficacement un objet Carnet dans une ArrayList grâce à sa propriété codeIsin ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-19 13:07:10861parcourir

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

Récupération d'objets d'une ArrayList en fonction de la valeur de la propriété

La tâche à accomplir consiste à localiser un objet spécifique, à savoir une instance Carnet, dans une ArrayList collection en tirant parti de sa propriété codeIsin unique.

Approche Java 8 Streams

Java 8 introduit les flux, qui offrent un moyen concis et efficace de travailler avec des collections de données. Pour trouver l'objet souhaité :

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

Cette méthode exploite stream() pour parcourir la liste et filter() pour sélectionner uniquement l'objet avec la valeur codeIsin correspondante. findFirst() récupère le premier élément correspondant et orElse() renvoie null si aucune correspondance n'est trouvée.

Approche de classe utilitaire générique

Pour les scénarios dans lesquels plusieurs types d'objets ( pas seulement Carnet) ou plusieurs propriétés de recherche (pas seulement codeIsin) sont impliquées, envisagez de créer une classe utilitaire pour encapsuler la recherche logique :

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
}

Cette approche centralise la logique de recherche et permet une réutilisation facile sur différents types d'objets et propriétés de recherche.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn