gpt4 book ai didi

Java 集合 addAll 复杂性

转载 作者:搜寻专家 更新时间:2023-11-01 02:04:18 24 4
gpt4 key购买 nike

对于 addAll 操作,是否存在复杂度为 O(1) 而不是 O(n) 的 Java 集合,还是我必须实现自己的集合?使用有效的链表,Collection1.addAll(Collection2) 操作应该将第二个集合附加到第一个集合,将 collection2 的第一个节点添加到集合 1 的最后一个节点,然后是其他集合。但这并不是说我阅读了它似乎使用 Iterator 的文档,所以我猜复杂度是 O(collection2.size)。

是这样吗?

最佳答案

即使是链表的优化也只有在您项从一个链表移动到另一个链表时才有效。

但是,您可以构建一种自己的集合,它有一个间接级别,即。 e.其中包含集合的集合。这样,添加整个集合的成本非常低,迭代也是如此。然而,索引或长度确定可能会变得非常昂贵。

关于Java 集合 addAll 复杂性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38324217/

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