Home >Backend Development >C++ >How to Efficiently Remove Items from One List That Exist in Another?
Remove an item from one list that is present in another list
The task is to iterate from a generic list and remove items contained in another list. Consider the following hypothetical scenario:
<code>List<car> list1 = GetTheList(); List<car> list2 = GetSomeOtherList();</code>
The goal is to use a foreach loop to iterate over list1 and remove any items that are also present in list2. However, the foreach loop is not index-based, which complicates the task.
Solution using Except method
To deal with this challenge, we can use the Except method, which excludes items from one list that are present in another list:
<code>List<car> result = list2.Except(list1).ToList();</code>
This will create a new list result containing items in list2 that are not present in list1. We can even simplify the code by eliminating temporary variables:
<code>List<car> result = GetSomeOtherList().Except(GetTheList()).ToList();</code>
It is important to note that Except will generate a new list without modifying any of the original lists.
The above is the detailed content of How to Efficiently Remove Items from One List That Exist in Another?. For more information, please follow other related articles on the PHP Chinese website!