Heim > Backend-Entwicklung > C++ > Wie entferne ich effizient Elemente aus einer Liste, die in einer anderen vorhanden sind?

Wie entferne ich effizient Elemente aus einer Liste, die in einer anderen vorhanden sind?

DDD
Freigeben: 2025-01-13 14:33:43
Original
111 Leute haben es durchsucht

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

Ein Element aus einer Liste entfernen, das in einer anderen Liste vorhanden ist

Die Aufgabe besteht darin, eine generische Liste zu durchlaufen und in einer anderen Liste enthaltene Elemente zu entfernen. Betrachten Sie das folgende hypothetische Szenario:

<code>List<car> list1 = GetTheList();
List<car> list2 = GetSomeOtherList();</code>
Nach dem Login kopieren

Das Ziel besteht darin, eine foreach-Schleife zu verwenden, um Liste1 zu durchlaufen und alle Elemente zu entfernen, die auch in Liste2 vorhanden sind. Allerdings ist die foreach-Schleife nicht indexbasiert, was die Aufgabe erschwert.

Lösung mit der Except-Methode

Um dieser Herausforderung zu begegnen, können wir die Except-Methode verwenden, die Elemente aus einer Liste ausschließt, die in einer anderen Liste vorhanden sind:

<code>List<car> result = list2.Except(list1).ToList();</code>
Nach dem Login kopieren

Dadurch wird ein neues Listenergebnis erstellt, das Elemente in Liste2 enthält, die in Liste1 nicht vorhanden sind. Wir können den Code sogar vereinfachen, indem wir temporäre Variablen eliminieren:

<code>List<car> result = GetSomeOtherList().Except(GetTheList()).ToList();</code>
Nach dem Login kopieren

Es ist wichtig zu beachten, dass Except eine neue Liste generiert, ohne die ursprünglichen Listen zu ändern.

Das obige ist der detaillierte Inhalt vonWie entferne ich effizient Elemente aus einer Liste, die in einer anderen vorhanden sind?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage