我想选择一个元素,然后在 O(1) 时间内将其从可变列表中删除。在 C++ 中我可以做
std::list<Foo> lst;
std::list<Foo>::iterator it = //some choice
//And then, possibly in another function,
lst.erase(it);
我可以在 Scala 中有等效的代码,还是必须进行过滤或区分?
编辑:澄清一下,我想分开选择和删除。我想标记一个元素,以便以后可以快速访问、修改和删除它。如果我也可以在选定的元素之后插入另一个元素,那就太好了。这就是 C++ 迭代器提供的功能。