我有这个LinkedHashMap:

myMap = {
  0 => 10,
  1 => 6,
  2 => 28,
  ...
}
int limit = 15;

我想要使​​用流进行的操作是对映射值求和(按顺序),并在达到限制时停止,然后返回映射中的相应索引(在这种情况下为0)。
流中有一种优雅的方式吗?

最佳答案

您可以总结出这样的限制

myMap.values().reduce(0, (a, b) -> a+b > limit ? a : a + b);

09-27 19:56