Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mengeluarkan Item dengan Cekap daripada Satu Senarai yang Wujud dalam Senarai Lain?

Bagaimana untuk Mengeluarkan Item dengan Cekap daripada Satu Senarai yang Wujud dalam Senarai Lain?

DDD
Lepaskan: 2025-01-13 14:33:43
asal
111 orang telah melayarinya

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

Alih keluar item daripada satu senarai yang terdapat dalam senarai lain

Tugasnya adalah untuk beralih daripada senarai generik dan mengalih keluar item yang terkandung dalam senarai lain. Pertimbangkan senario hipotetikal berikut:

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

Matlamatnya adalah untuk menggunakan gelung foreach untuk mengulangi senarai1 dan mengalih keluar sebarang item yang turut terdapat dalam senarai2. Walau bagaimanapun, gelung foreach tidak berasaskan indeks, yang merumitkan tugas.

Penyelesaian menggunakan kaedah Kecuali

Untuk menangani cabaran ini, kita boleh menggunakan kaedah Kecuali, yang mengecualikan item daripada satu senarai yang terdapat dalam senarai lain:

<code>List<car> 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. Kita juga boleh memudahkan kod dengan menghapuskan pembolehubah sementara:

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

Adalah penting untuk ambil perhatian bahawa Except akan menjana senarai baharu tanpa mengubah suai mana-mana senarai asal.

Atas ialah kandungan terperinci Bagaimana untuk 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