Hy everyone, 我有按照嵌套數組大小/長度降序排序Java Map的任務,但嵌套數組嵌套在嵌套Map內。該結構是這樣的:按嵌套嵌套數組大小排序嵌套地圖
HashMap<String, HashMap<String, ArrayList<String>>> classes = new HashMap<>();
我使用Lambda和我嘗試了許多變化,包括:
classes.entrySet().stream()
.sorted((k1, k2) -> Long.compare(classes.get(k2.getKey()).entrySet().stream().count(), classes.get(k1.getKey()).entrySet().stream().count()))
和
classes.entrySet().stream()
.sorted((k1, k2) -> Integer.compare(k2.getValue().values().size(), k1.getValue().values().size()))
,但沒有任何運氣。由於數據的性質,我不能使用其他數據結構,所以我必須堅持使用這一數據結構。
任何想法爲什麼我的排序失敗?感謝您的幫助,我很感激。
在是那種沒有什麼意義? –
排序返回嵌套地圖的大小,而不是嵌套地圖內的數組大小。 –
在'classes'映射中有一個鍵與多個數組關聯。您需要彙總長度值。按平均值,總和,中位數排序?你的例子看起來是對'map'的大小進行排序,而不是所包含數組的大小。 – GuiSim