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
DDDOriginal
2025-01-13 14:17:42614Durchsuche

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>

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>

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!

Stellungnahme:
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