troubleshooting Question

Efficient list traversal and removal

Avatar of Sinclair
Sinclair asked on
C#
8 Comments2 Solutions364 ViewsLast Modified:
Hi all,

I have a long-ish list of items (maybe 1000 or so). I need to traverse this list, perform some calculation on each item, and, based on the result, possibly remove it from the list. The pseudocode for this is roughly as follows:

foreach(item in list) {
  if(! ItemFitsSomeComplexCriteria(item)) {
    RemoveItemFromList(list, item);
  }
}

How would I do this efficiently, without O(N^2) traversals ? I know how I'd do it in Java (use LinkedList and Iterator.remove()), but I can't figure out how to do it in C#.
ASKER CERTIFIED SOLUTION
pallosp

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Join our community to see this answer!
Unlock 2 Answers and 8 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 2 Answers and 8 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros