这是博主的第一篇文章,工作中用到Stream感觉很简洁,所以写下这边文章记录一些基本用法
//创建Integer类型的集合
List<Integer> listInt = Arrays.asList(3, 1, 5, 6, 7, 2, 9, 4, 8);
//最大值(方法有很多,这里只列举部分)
Integer max1 = listInt.stream().reduce(Integer::max).orElse(0);
System.out.println("最大值:" + max1);
Integer max2 = listInt.stream().max(Integer::compare).get();
System.out.println("最大值:" + max2);
int max3 = listInt.stream().mapToInt(i -> i).max().getAsInt();
System.out.println("最大值:" + max3);
//最小值
Integer min1 = listInt.stream().reduce(Integer::min).orElse(0);
System.out.println("最小值:" + min1);
Integer min2 = listInt.stream().min(Integer::compare).get();
System.out.println("最小值:" + min2);
int min3 = listInt.stream().mapToInt(i -> i).min().getAsInt();
System.out.println("最小值:" + min3);
//求和
Integer sum1 = listInt.stream().reduce(Integer::sum).orElse(0);
System.out.println("总和:" + sum1);
int sum2 = listInt.stream().mapToInt(Integer::intValue).sum();
System.out.println("总和:" + sum2);
long sum3 = listInt.stream().collect(Collectors.summarizingInt(Integer::intValue)).getSum();
System.out.println("总和:" + sum3);
//求平均值
double avg1 = listInt.stream().mapToInt(Integer::intValue).average().orElse(0);
System.out.println("总和:" + avg1);
Double avg2 = listInt.stream().collect(Collectors.averagingInt(Integer::intValue));
System.out.println("总和:" + avg2);