Java使用stream 从大到小排序并计算平均值
```go package com.test; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; public class Test4 { public static void main(String[] args) { List list = new ArrayList<>(); Scanner scanner = new Scanner(System.in); for (int a = 1; a < 6; a++) { System.out.print("请输入第 " + a + " 个值:"); list.add(scanner.nextint()); } System.out.println(descending(list)); System.out.println(getAvg(list)); } public static List descending(List list) { list.sort(Collections.reverseOrder()); //降序 return list; } public static Double getAvg(List list) { return list.stream().mapToInt(Integer::new).average().getAsDouble();//求平均值 } }
public class DoubleStream { public static void main(String[] args) { List<Double> doubleList = new ArrayList<>(); doubleList.add(1.3); doubleList.add(2.2); doubleList.add(3.2); doubleList.add(4.3); doubleList.add(5.2); OptionalDouble average = Arrays.stream(doubleList.toArray(new Double[doubleList.size()])).mapToDouble(Number::doubleValue).average(); System.out.println("平均值:"+average); //第二种方式 double average1 = doubleList.stream().collect(Collectors.averagingDouble(Double::doubleValue)); System.out.println("平均值:" + average1); } }
下一篇:
类和对象4:类、类对象、实例对象