Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengeluarkan Item dengan Cekap daripada Satu Senarai Yang Wujud dalam Senarai Lain?

Bagaimanakah Saya Boleh Mengeluarkan Item dengan Cekap daripada Satu Senarai Yang Wujud dalam Senarai Lain?

DDD
Lepaskan: 2025-01-13 14:21:44
asal
548 orang telah melayarinya

How Can I Efficiently Remove Items from One List That Exist in Another?

Alih keluar item daripada senarai lain

Soalan:

Bagaimana untuk mengulangi senarai generik item dan mengalih keluarnya daripada senarai item lain?

Adegan:

Pertimbangkan contoh hipotetikal berikut:

<code>List<汽车> list1 = GetTheList();
List<汽车> list2 = GetSomeOtherList();</code>
Salin selepas log masuk

Matlamatnya adalah untuk menggunakan gelung foreach untuk beralih melalui senarai1 dan mengalih keluar sebarang item yang turut terdapat dalam senarai2. Walau bagaimanapun, gelung foreach tidak menyediakan kaedah berasaskan indeks.

Jawapan:

Untuk mencapai ini, anda boleh menggunakan kaedah Kecuali:

<code>List<汽车> result = list2.Except(list1).ToList();</code>
Salin selepas log masuk

Ini akan mencipta hasil senarai baharu yang mengandungi item dalam senarai2 yang tidak terdapat dalam senarai1. Kaedah Except tidak mengubah suai senarai asal.

Pengoptimuman:

Untuk mengoptimumkan lagi kod anda, anda boleh menghapuskan keperluan untuk pembolehubah sementara:

<code>List<汽车> result = GetSomeOtherList().Except(GetTheList()).ToList();</code>
Salin selepas log masuk

Adalah penting untuk ambil perhatian bahawa Except mengembalikan senarai baharu yang mengandungi perbezaan yang dikira, jadi ia tidak mengubah suai senarai1 atau senarai2.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Item dengan Cekap daripada Satu Senarai Yang Wujud dalam Senarai Lain?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan