在java中获取hashmap中所有键的运行时间是多少?
例如,我有:在java中获取hashmap中所有键的运行时间是多少?,java,hashmap,runtime,Java,Hashmap,Runtime,例如,我有: List<HashMap<Integer,Edge>> gfAdjacencyList = new ArrayList<HashMap<Integer,Edge>>(); for(int v : gfAdjacencyList.get(u).keySet()){ //u is an int //do stuff } List gfAdjacencyList=newarraylist(); 对于(int v:gfAdjac
List<HashMap<Integer,Edge>> gfAdjacencyList = new ArrayList<HashMap<Integer,Edge>>();
for(int v : gfAdjacencyList.get(u).keySet()){ //u is an int
//do stuff
}
List gfAdjacencyList=newarraylist();
对于(int v:gfAdjacencyList.get(u).keySet()){//u是一个int
//做事
}
gfAdjacencyList.get(u).keySet()的运行时间是多少?我在Java文档中找不到运行时Um,keySet().size()?不清楚您所说的“运行时”是什么意思。如果您询问列表取消引用的运行时,.keySet()的运行时在这里是无关紧要的。它是O(1)。返回的是HashMap上的视图。也就是说,它是一个使用现有基础HashMap的集合。没有复制。例如,集合的contains()方法只是委托给映射的containsKey()方法。更相关的一点是如何处理该循环中的键。如果使用键从HashMap
获取值,那么更好的方法是使用map.entrySet()
@rmlan我是说使用.keyset()获取HashMap中所有键的O()
绑定是什么
?@redflar3我使用int v
所做的一切就是将它推到堆栈上,并使用v
查找并插入另一个hashmap,因此我认为我不需要map.entrySet()
。虽然如果我使用hashmap中的所有值,为什么map.entrySet()
会更好?