我有一个非常大的整数列表(大约 20 亿个元素)和一个带有索引(几千个元素)的列表,我需要从第一个列表中删除元素。我目前的方法是遍历第二个列表中的所有索引,将每个索引传递给RemoveAt()第一个列表的方法:
indices.Sort();
indices.Reverse();
for (i = 0; i < indices.Count; i++)
{
largeList.RemoveAt(indices[i]);
}
Run Code Online (Sandbox Code Playgroud)
但是,大约需要 2 分钟才能完成。我真的需要更快地执行此操作。有没有办法优化这个?
我有一个带有 10 个内核的 Intel i9X CPU,所以也许是某种并行处理方式?