gpt4 book ai didi

Java Collections.unmodifiableList() 时间复杂度

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:38:51 31 4
gpt4 key购买 nike

我想知道 Collections.unmodifiableList 的时间复杂度是多少?

如果我想让传入的 Collection 不可变,最便宜的方法是什么?

最佳答案

I am wondering what's the time complexity of Collections.unmodifiableList?

Collections.unmodifiableList返回其参数列表的 View ,而不是副本,所以它是 O(1)。这通常是您创建不可变列表的方式,但请确保不要更改原始可变列表,因为这些更改将反射(reflect)在新创建的不可变列表中。如果您将原始列表保密,这应该不是问题。这就是我所说的情况:

List<String> modifiableList = new ArrayList<>();
List<String> unmodifiableList = Collections.unmodifiableList(modifiableList);

System.out.println(unmodifiableList);
modifiableList.add("hello");
System.out.println(unmodifiableList);
[][hello]

发生这种情况是因为 unmodifiableListmodifiableList 的 View (而不是副本)。

关于Java Collections.unmodifiableList() 时间复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25270710/

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