使用Java 8流方法获取最大值

使用Java 8流方法获取最大值,第1张

使用Java 8流方法获取最大值

您可以通过以下方式实现它:

  • 遍历
    Round
    list
  • Round
    对象更改为
    List<Hit> hits
  • 使用
    flatMap
    从去
    Stream<List<Hits>>
    Stream<Hits>
  • 从转换
    Hits
    到其
    prizeAmount
    领域
  • 得到
    max
    如果存在
  • 如果没有最大值(如列表为空或其他),则返回
    -1

所以使用

Method reference

int maxPrize = arrRoundarrRound.stream()// Stream<Round>         .map(Round::getHits)// Stream<List<Hits>>         .flatMap(List::stream)         // Stream<Hits>         .mapToInt(Hit::getPrizeAmount) // IntStream         .max()   // OptionalInt          .orElse(-1);        // int

带班

lambda
map + flatMap
一个:

int maxPrize = arrRoundarrRound.stream()  .flatMap(round -> round.getHits().stream())         .mapToInt(hits -> hits.getPrizeAmount())         .max() .orElse(-1);


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5507324.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存