Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Mencari Persimpangan dan Kesatuan ArrayLists dengan Cekap di Jawa?

Bagaimanakah Saya Boleh Mencari Persimpangan dan Kesatuan ArrayLists dengan Cekap di Jawa?

DDD
Lepaskan: 2024-12-23 04:27:10
asal
271 orang telah melayarinya

How Can I Efficiently Find the Intersection and Union of ArrayLists in Java?

Mencari Persimpangan dan Kesatuan ArrayLists di Java

Dalam bekerja dengan ArrayLists, selalunya perlu mencari persimpangan atau gabungan dua atau lebih banyak senarai. Ini boleh berguna untuk tugas seperti menapis fail atau menggabungkan data daripada pelbagai sumber.

Kaedah Persimpangan dan Kesatuan

Java menyediakan beberapa kaedah untuk melaksanakan persilangan dan kesatuan pada ArrayLists:

  • retainAll(Collection c): Mengekalkan hanya elemen dalam senarai ini yang terkandung dalam koleksi yang ditentukan.
  • removeAll(Collection c): Mengalih keluar semua elemen dalam ini senarai yang terkandung dalam koleksi yang ditentukan.
  • addAll(Collection c): Menambah semua elemen dalam koleksi yang ditentukan pada senarai ini.

Kaedah ini mengubah suai ArrayLists asal, yang mungkin tidak diingini dalam semua kes. Sebagai alternatif, anda boleh melaksanakan kaedah anda sendiri untuk mengendalikan persimpangan dan kesatuan tanpa mengubah suai senarai asal:

public static <T> List<T> intersection(List<T> list1, List<T> list2) {
    List<T> list = new ArrayList<>();

    for (T t : list1) {
        if (list2.contains(t)) {
            list.add(t);
        }
    }

    return list;
}

public static <T> List<T> union(List<T> list1, List<T> list2) {
    Set<T> set = new HashSet<>();

    set.addAll(list1);
    set.addAll(list2);

    return new ArrayList<>(set);
}
Salin selepas log masuk

Struktur Data Alternatif

ArrayList ialah struktur data boleh ubah yang membolehkan elemen pendua. Untuk operasi set, anda boleh mempertimbangkan untuk menggunakan struktur data yang berbeza:

  • Set: Set secara automatik menjamin bahawa elemen adalah unik. Walau bagaimanapun, ia tidak mengekalkan susunan elemen.
  • SortedSet: Set yang diisih mengekalkan elemen dalam susunan yang boleh diisih, yang mungkin berguna untuk sesetengah aplikasi.

Dengan memilih struktur data yang sesuai untuk tugas anda, anda boleh mengoptimumkan masa jalan dan penggunaan memori kod anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Persimpangan dan Kesatuan ArrayLists dengan Cekap di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan