gpt4 book ai didi

java - 从 ListBuffer 中移除元素

转载 作者:搜寻专家 更新时间:2023-11-01 03:26:22 25 4
gpt4 key购买 nike

根据 this posting ,据说 ListBuffer 允许恒定时间删除第一个和最后一个元素。我一直在查看 API 引用和 ListBuffer 源代码,但我找不到如何在恒定时间内删除最后一个元素,而 remove(0) 将完成第一个元素的工作.删除最后一个元素的正确方法是什么?

另一个问题:是否可以在遍历 ListBuffer 时有效地删除元素?在 Java 中,它可以用 Iterator.remove() 完成,但 Scala 迭代器似乎没有 remove() 方法...

最佳答案

第一个问题有一个简单但令人失望的答案:您不能在常数时间内删除最后一个元素,因为这样做需要引用最后一个元素之前的元素。 (它是一个单向链表,在一个包含列表开始和结束元素的包装类中。)

第二个问题同样简单但可能令人失望:Scala 中的 Iterator 只是集合的 View 。他们不修改基础集合。 (这符合“默认情况下不可变,仅在必要时可变”的理念。)

关于java - 从 ListBuffer 中移除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12922334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com