Maison >développement back-end >C++ >Comment supprimer efficacement des éléments d'une liste qui existent dans une autre ?

Comment supprimer efficacement des éléments d'une liste qui existent dans une autre ?

DDD
DDDoriginal
2025-01-13 14:33:43121parcourir

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

Supprimer un élément d'une liste présent dans une autre liste

La tâche consiste à parcourir une liste générique et à supprimer les éléments contenus dans une autre liste. Considérez le scénario hypothétique suivant :

<code>List<car> list1 = GetTheList();
List<car> list2 = GetSomeOtherList();</code>

L'objectif est d'utiliser une boucle foreach pour parcourir la liste1 et supprimer tous les éléments également présents dans la liste2. Cependant, la boucle foreach n'est pas basée sur un index, ce qui complique la tâche.

Solution utilisant la méthode Except

Pour relever ce défi, nous pouvons utiliser la méthode Except, qui exclut les éléments d'une liste qui sont présents dans une autre liste :

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

Cela créera un nouveau résultat de liste contenant des éléments de la liste2 qui ne sont pas présents dans la liste1. On peut même simplifier le code en éliminant les variables temporaires :

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

Il est important de noter qu'Except générera une nouvelle liste sans modifier aucune des listes d'origine.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn