假设我们有一个包含若干数字的 List,我们希望找出其中的最大值。我们可以通过 Stream API 来实现: importjava.util.Arrays;importjava.util.List;importjava.util.Optional;publicclassMaxValueExample{publicstaticvoidmain(String[]args){List<Integer>numbers=Arrays.asList(3,5,7,2,8,1,10);// 使用 Stream AP...
2. 使用Stream获取最大值 我们可以使用Stream的max方法结合Comparator来获取集合中某个属性的最大值。下面是具体的实现代码: Optional<Person>personWithMaxAge=personList.stream().max(Comparator.comparingInt(Person::getAge));intmaxAge=personWithMaxAge.map(Person::getAge).orElse(0);System.out.println("Ma...
java8 list统计(求和、最大、最小、平均) list.stream().mapToDouble(User::getHeight).sum()//和list.stream().mapToDouble(User::getHeight).max()//最大list.stream().mapToDouble(User::getHeight).min()//最小list.stream().mapToDouble(User::getHeight).average()//平均值 二:stream分组 Li...
java8 list统计(求和、最大、最小、平均) list.stream().mapToDouble(User::getHeight).sum()//和 list.stream().mapToDouble(User::getHeight).max()//最大 list.stream().mapToDouble(User::getHeight).min()//最小 list.stream().mapToDouble(User::getHeight).average()//平均值 当然,除了...
public static void main(String[] args) { List list = new ArrayList(); list.add(new Double(123.23)); list.add(new Double(33.23)); list.add(new Double(13.23)); list.add(new Double(3.23)); System.out.println(list); System.out.println("最大值: " + Collections.max(list)); System....
/** * 求最大最小值,根据业务类型选择合适的类型值 */ @Test public void maxOrMinByJava8() { List<Users> list = produceUser(); //根据mapTO**得到最大最小 ---写法一 double asDouble = list.stream().mapToDouble(Users::getAge).max().getAsDouble(); System.out.println("将最大值转换...
long asLong = list.stream().mapToLong(User::getAge).max().getAsLong(); System.out.println("max:" + asLong); // 最小值 long asLong1 = list.stream().mapToLong(User::getAge).min().getAsLong(); System.out.println("min:" + asLong1); ...
}}; // 最大值 final Optional<BigDecimal> bigDecimalMax = bigDecimalList.stream().max(BigDecimal::compareTo); //最小值 final Optional<BigDecimal> bigDecimalMin = bigDecimalList.stream().min(BigDecimal::compareTo); // 求和 final Optional<BigDecimal> bigDecimalSum = bigDecimalList.stream().reduce...
* max年龄的学生==>Student(name=学生J, school=大学D, age=22, score=87.0) * min年龄的学生==>Student(name=学生A, school=大学A, age=18, score=98.0) */ } 复制代码 Optional,它是一个容器,可以包含也可以不包含值。它是java8中人们常说的优雅的判空的操作。
Optional<Integer> any = intList.stream().findAny();Integer integer = any.get();count 返回流中元素总数 long count = intList.stream().count();sum 返回此流中元素的总和。int sum = intList.stream().mapToInt(item->item).sum();System.out.println(sum);max 返回此流的最大元素 int max = ...