我想知道这种对哈希图进行排序的排序算法的时间复杂度是什么。
private HashMap<Pair<T,T>,Double> sortMapOfEdges(HashMap<Pair<T,T>,Double> mapOfEdges){
HashMap<Pair<T,T>, Double> sortedMapOfEdges =
mapOfEdges.entrySet().stream()
.sorted(Entry.comparingByValue())
.collect(Collectors.toMap(Entry::getKey, Entry::getValue,
(e1, e2) -> e1, LinkedHashMap::new));
return sortedMapOfEdges;
}
谢谢。
答案 0 :(得分:0)
这里唯一的排序是通过行
完成的.sorted(Entry.comparingByValue())
因此,这里的真正问题是流的.sorted
方法的运行时间是多少。我相信这将取决于一些内部细节,但是通常这些内置的排序方法是接近最佳的,因此我的猜测是O(n * log(n))。