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
Freigeben: 2024-12-19 13:07:10
Original
880 Leute haben es durchsucht

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);
}
Nach dem Login kopieren

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
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage