Heim >Java >javaLernprogramm >Wie kann man ein Carnet-Objekt in einer ArrayList anhand seiner codeIsin-Eigenschaft effizient finden?

Wie kann man ein Carnet-Objekt in einer ArrayList anhand seiner codeIsin-Eigenschaft effizient finden?

Barbara Streisand
Barbara StreisandOriginal
2024-12-19 13:07:10861Durchsuche

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

Objekte aus einer ArrayList basierend auf dem Eigenschaftswert abrufen

Die vorliegende Aufgabe besteht darin, ein bestimmtes Objekt, nämlich eine Carnet-Instanz, darin zu lokalisieren eine ArrayList Sammlung durch Nutzung seiner einzigartigen codeIsin-Eigenschaft.

Java 8 Streams-Ansatz

Java 8 führt Streams ein, die eine prägnante und effiziente Möglichkeit bieten, mit Datensammlungen zu arbeiten. So finden Sie das gewünschte Objekt:

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

Diese Methode nutzt stream(), um die Liste zu durchlaufen, und filter(), um nur das Objekt mit dem passenden codeIsin-Wert auszuwählen. findFirst() ruft das erste passende Element ab und orElse() gibt null zurück, wenn keine Übereinstimmung gefunden wird.

Generischer Utility-Class-Ansatz

Für Szenarien, in denen mehrere Objekttypen ( (nicht nur Carnet) oder mehrere Sucheigenschaften (nicht nur codeIsin) beteiligt sind, sollten Sie erwägen, eine Dienstprogrammklasse zu erstellen, um die Suche zu kapseln Logik:

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
}

Dieser Ansatz zentralisiert die Suchlogik und ermöglicht eine einfache Wiederverwendung über verschiedene Objekttypen und Sucheigenschaften hinweg.

Das obige ist der detaillierte Inhalt vonWie kann man ein Carnet-Objekt in einer ArrayList anhand seiner codeIsin-Eigenschaft effizient finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn