日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java集合多个最大值_Java 8 Stream 求集合元素每个属性的最大值

發布時間:2025/3/15 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java集合多个最大值_Java 8 Stream 求集合元素每个属性的最大值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java 8 Stream 求集合元素每個屬性的最大值,賦值給新對象

public class Mqtt {

private int temperature;

private int humidity;

private int methane;

...

}

@Test

public void contextLoads() {

List list = new ArrayList<>();

list.add(new Mqtt(1,1,1));

list.add(new Mqtt(2,2,2));

list.add(new Mqtt(3,3,3));

}

問題出現的環境背景及自己嘗試過哪些方法

就是一次一次的取stream處理,想請教能否一次stream得出呢

Optional maxTemperature = list.stream().max(Comparator.comparingInt(Mqtt::getTemperature));

Optional maxMethane = list.stream().max(Comparator.comparingInt(Mqtt::getMethane));

Optional maxHumidity = list.stream().max(Comparator.comparingInt(Mqtt::getHumidity));

Mqtt mqtt = new Mqtt();

maxTemperature.ifPresent(t -> mqtt.setTemperature(t.getTemperature()));

maxMethane.ifPresent(t -> mqtt.setHumidity(t.getHumidity()));

maxHumidity.ifPresent(t -> mqtt.setMethane(t.getMethane()));

你期待的結果是什么?

百度了一些 這篇Java 8 Stream簡介和復用問題后面提到的StreamSupport.stream能實現stream復用,但是我看不懂。我希望能一次stream得出結果,不知道可不可以

總結

以上是生活随笔為你收集整理的java集合多个最大值_Java 8 Stream 求集合元素每个属性的最大值的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。