Rumah > Java > javaTutorial > Bagaimana untuk Cekap Mencari Objek Carnet dalam ArrayList dengan CodeIsin Property?

Bagaimana untuk Cekap Mencari Objek Carnet dalam ArrayList dengan CodeIsin Property?

Barbara Streisand
Lepaskan: 2024-12-19 13:07:10
asal
880 orang telah melayarinya

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

Mendapatkan semula Objek daripada ArrayList Berdasarkan Nilai Harta

Tugas di tangan adalah untuk mencari objek tertentu, iaitu contoh Carnet, dalam sebuah ArrayList koleksi dengan memanfaatkan sifat codeIsinnya yang unik.

Pendekatan Java 8 Streams

Java 8 memperkenalkan strim, yang menyediakan cara yang ringkas dan cekap untuk bekerja dengan pengumpulan data. Untuk mencari objek yang diingini:

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

Kaedah ini memanfaatkan stream() untuk melintasi senarai dan penapis() untuk memilih hanya objek dengan nilai codeIsin yang sepadan. findFirst() mendapatkan semula elemen padanan pertama dan orElse() mengembalikan null jika tiada padanan ditemui.

Pendekatan Kelas Utiliti Generik

Untuk senario di mana pelbagai jenis objek ( bukan hanya Carnet) atau berbilang sifat carian (bukan hanya codeIsin) terlibat, pertimbangkan untuk mencipta kelas utiliti untuk merangkum carian 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
}
Salin selepas log masuk

Pendekatan ini memusatkan logik carian dan membolehkan penggunaan semula mudah merentas jenis objek dan sifat carian yang berbeza.

Atas ialah kandungan terperinci Bagaimana untuk Cekap Mencari Objek Carnet dalam ArrayList dengan CodeIsin Property?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan