在java中,HashMap getValues().size()
的时间复杂度是多少?它是线性的还是恒定的?我的形象不变,但我不确定。 getValues().get(n)
答案 0 :(得分:5)
它是不变的,它完全等同于首先调用Map.size()
。
答案 1 :(得分:0)
public int size() {
return size;
}
这是源代码。恒定时间。
Map#values()的返回值属于Collection
类型,不支持get(n)
操作。为了获得n
元素,您可能必须遍历集合,这是线性时间。