【发布时间】:2020-01-23 00:26:26
【问题描述】:
我不确定entrySet()方法的时间复杂度是O(n)还是O(1)。
Map<Integer, String> map = new TreeMap<>();
map.entrySet();
【问题讨论】:
-
您想知道仅调用
entrySet()方法或使用entrySet().iterator()迭代条目集的条目的复杂性吗?
我不确定entrySet()方法的时间复杂度是O(n)还是O(1)。
Map<Integer, String> map = new TreeMap<>();
map.entrySet();
【问题讨论】:
entrySet() 方法或使用entrySet().iterator() 迭代条目集的条目的复杂性吗?
在您致电entrySet() 时,除了交回参考资料外,没有(重要的)工作要做,所以它是恒定的时间。在向TreeMap 添加/删除事物时,地图会保持排序行为。
此实现为 containsKey、get、put 和 remove 操作提供有保证的 log(n) 时间成本。
【讨论】: