【发布时间】:2022-11-03 22:12:48
【问题描述】:
我有一个 Hashmap 的 ArrayList 和 hashmap 看起来像 {"Start":"A", "End":"B","Length":5},我想找到一个长度最长的,或者可能不止一个,它们的长度都等于 max长度
尝试使用流,我应该怎么做?
ArrayList<HashMap<String, Object>> resultslist = new ArrayList<HashMap<String, Object>>();
ArrayList<HashMap<String, Object>> finalresult = resultslist.stream().max()
JAVA新手,请帮忙。
【问题讨论】:
-
Stream#max接受Comparator对象。你可以传递类似Comparator.comparingInt(Map::length)的东西。如果您是编程新手(而不仅仅是 Java),我建议您尝试使用for循环,而不是现在使用流。 -
您可以通过更好的性能实现流与 for 循环所做的一切,所以从它开始。此外,从 for 循环开始学习然后进入流更容易
标签: java java-stream max