0

在 java 中,HashMap 的时间复杂度是getValues().size()多少?它是线性的还是恒定的?我的形象不变,但我不确定。怎么样getValues().get(n)

4

2 回答 2

5

它是恒定的,它完全等同于Map.size()首先调用。

于 2013-10-22T23:35:13.367 回答
0
public int size() {
  return size;
}

这是源代码。恒定的时间。

Map#values()的返回值为type Collection,不支持该get(n)操作。为了获得第nth 个元素,您可能必须遍历集合,这是线性时间。

于 2013-10-22T23:40:52.533 回答