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:17:42
Original
617 Leute haben es durchsucht

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

So entfernen Sie ein Element aus einer Liste, das in einer anderen Liste enthalten ist

Angenommen, Sie haben zwei Listen, Liste1 und Liste2, und Sie möchten alle Elemente in Liste1 entfernen, die auch in Liste2 vorhanden sind. Die Verwendung einer foreach-Schleife zum Durchlaufen von Liste1 reicht nicht aus, da diese nicht indexbasiert ist.

Lösung: Verwenden Sie die Except-Methode

.NET Framework stellt die Methode „Except“ bereit, die eine neue Liste zurückgibt, die Elemente aus der ersten Liste enthält, die in der zweiten Liste nicht vorhanden sind. Es verwendet zwei Listen als Parameter und arbeitet Element für Element.

Um Except zu verwenden, schreiben Sie den folgenden Code:

<code class="language-csharp">List<car> list1 = GetTheList();
List<car> list2 = GetSomeOtherList();
List<car> result = list2.Except(list1).ToList();</code>
Nach dem Login kopieren

Die generierte Ergebnisliste enthält nur Elemente in Liste2, die nicht in Liste1 enthalten sind.

Hinweis: Die Except-Methode ändert nicht die ursprüngliche Liste. Es erstellt eine neue Liste mit den Ergebnissen.

Vereinfachte Syntax

Sie können den obigen Code durch Methodenverkettung weiter vereinfachen:

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

Dieser Code erzielt das gleiche Ergebnis, ohne temporäre Variablen zu verwenden.

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