求和(Sum): List numbers = Arrays.asList(1, 2, 3, 4, 5); int sum = numbers.stream().mapToInt...Average): List numbers = Arrays.asList(1, 2, 3, 4, 5); double average = numbers.stream().mapToInt...最大值(Max): List numbers = Arrays.asList(1, 2, 3, 4, 5); int max = numbers.stream().mapToInt...最小值(Min): List numbers = Arrays.asList(1, 2, 3, 4, 5); int min = numbers.stream().mapToInt
引用类型流映射成值类型流 常用方法是mapToInt(), mapToLong()和mapToDouble,以及flatMapToXxx......Stream integerStream = Stream.of(1, 2, 3);IntStream intStream = integerStream.mapToInt(x ->...x); // 求和 int intSum = intStream.sum(); // 计算最大值 OptionalInt intMax = integerStream.mapToInt(x -> x)....max(); // 计算最小值 OptionalInt intMin = integerStream.mapToInt(x -> x).min(); 数值类型流转换成引用类型流 使用.boxed()装箱方法...boxed()方法实际上内部调用的都是mapToObj() IntStream intStream = integerStream.mapToInt(x -> x); Stream<Integer
Collectors.joining(",","(",")")); System.out.println("str="+str); //求和 // Integer sum = Stream.of(array).mapToInt...(x -> x).sum(); // Integer sum = Stream.of(array).mapToInt(Integer::valueOf).sum(); Integer sum =...Stream.of(array).mapToInt(x -> Integer.valueOf(x)).sum(); System.out.println("sum="+sum); }
Integer e : list){ result.add(++e); } //parallel stream List result = list.parallelStream() .mapToInt...200){ result.add(e); } } //parallel stream List result = list.parallelStream() .mapToInt...API(使用归并排序算法实现),测试的随机数列容量从 10 - 10000000,跑10次取平均时间; //stream List result = list.stream() .mapToInt...(list); Collections.sort(result); //parallel stream List result = list.parallelStream() .mapToInt...list){ if(e > max){ max = e; } } //parallel stream int max = list.parallelStream() .mapToInt
list.stream() .filter(obj -> ("111000".equals(obj.getCostCode()))) .mapToInt...|| "211000".equals(obj.getCostCode()) || "311000".equals(obj.getCostCode()))) .mapToInt...list.stream() .filter(obj -> (costCode.contains(obj.getCostCode()))) .mapToInt
.collect(Collectors.toList()); long startTime = System.nanoTime(); // 求和操作 int sum = list.stream().mapToInt...normalStreamEndTime - startTime) / (1000.0 * 1000.0)) + " ms"); // 求和操作 int parallelSum = list.parallelStream().mapToInt...并且它的执行是无序的 这里举个例子 我们在源代码上加上给lastValue设置值这样一个操作 可以明显看到两者不一致 如果还没get到,我们还可以直接打印元素,看看顺序,这里我把元素改少一点 然后再把打印语句放到mapToInt
Pool("B", 4)); add(new Pool("B", 5)); } }; // 求和 int sum = list.stream().mapToInt...(Pool::getValue).sum(); // 最大值 OptionalInt max = list.stream().mapToInt(Pool::getValue).max()...; // 最小值 OptionalInt min = list.stream().mapToInt(Pool::getValue).min(); // 平均值 OptionalDouble...average = list.stream().mapToInt(Pool::getValue).average(); System.err.println(sum); System.err.println...()); System.err.println(average.getAsDouble()); } 输出结果 15 5 1 3.0 其他方法 当然,Stream远不止这么简单,不止有mapToInt
= null).mapToInt(li->li*2).forEach(System.out::println); System.out.println("-------------");...= null).mapToInt(li -> li * 3); s2.forEach(System.out::println); System.out.println("--...= null).mapToInt(li -> li).sum(); System.out.println(sum); System.out.println("--------...; } System.out.println("和为:"+sum2); //steam留求和 int sum3 = list.stream().mapToInt...Stream integerStream4 = Stream.of(1,5,4,55,64,88); OptionalInt max = integerStream4.mapToInt
将对象流映射为数值流 常用方法为mapToInt, mapToDouble, mapToLong,这些方法和map相同,只是它们返回一个特化流,而不是Stream。...Dish("salmon", false, 450, Type.FISH) ); IntStream intStream = dishes.stream() .mapToInt...OptionalInt optionalInt = dishes.stream() .mapToInt(Dish::getCalories)
Collectors.toList()); List>转int[][] array = collect.stream().map(integers -> integers.stream().mapToInt...Collectors.toList())).collect(Collectors.toList()); array = collect.stream().map(integers -> integers.stream().mapToInt
后,重新组装为一个新的 List,测试的随机数列容量从 10 - 10000000,跑10次取平均时间; //stream List result = list.stream() .mapToInt...的元素,并组装为一个新的 List,测试的随机数列容量从 10 - 10000000,跑10次取平均时间; //stream List result = list.stream() .mapToInt...API(使用归并排序算法实现),测试的随机数列容量从 10 - 10000000,跑10次取平均时间; //stream List result = list.stream() .mapToInt...(list); Collections.sort(result); //parallel stream List result = list.parallelStream() .mapToInt...)); 归约统计测试 获取一个随机数列(List)的最大值,测试的随机数列容量从 10 - 10000000,跑10次取平均时间; //stream int max = list.stream() .mapToInt
表达式的数据就可以留下来,不满足的数据被过滤掉 [图片2.png] Map map 方法可以让我们进行一些流的转化,比如原来流中的元素是 A,通过 map 操作,可以使返回的流中的元素是 B [图片3.png] MapToInt...mapToInt 方法的功能和 map 方法一样,只不过 mapToInt 返回的结果已经没有泛型,已经明确是 int 类型的流了,源码如下: [图片4.png] Distinct distinct
.limit(5) // 保留前5个元素 .forEach(System.out::println); // 输出 } map、mapToInt...mapToInt、mapToLong、mapToDouble分别是返回一个IntStream、LongStream、DoubleStream。...List list = Arrays.asList(1, 12, 6, 8, 4, 55, 6, 77, 66, 12); // 转换IntStream list.stream().mapToInt...item * 2).forEach(System.out::println); // 对IntStream内元素进行计算,并求和 System.out.println(list.stream().mapToInt...stringList.stream() .map(String::length) .min(Integer::compareTo); stringList.stream() .mapToInt
costSettleDetails.add(entity); //求和 int fineAmt11 =costSettleDetails.stream().mapToInt...= null && 50 == obj.getCostType(); // 50 }).mapToInt(CostSettleDetailEntity::getAmt).sum();...= null && ( 5 == obj.getCostType() || 50 == obj.getCostType()); // 5 50 }).mapToInt(CostSettleDetailEntity
.collect(Collectors.toCollection(() -> new ArrayList(n))); return list.stream().mapToInt...list.add(String.valueOf(i)); } list.sort(String::compareTo); return list.stream().mapToInt
Integer[] 转 基本类型数组 int[] Integer[] integer = new Integer[]{1,2,3}; int[] array = Arrays.stream(integer).mapToInt...Integer[0]); List 转 基本类型数组 int[] List list = new ArrayList(); int[] array = list.stream().mapToInt
aaa", 1, 20)); uList.add(new User(4, "bbb", 1, 21)); //最大年龄 Integer maxAge=uList.stream().mapToInt...).max().getAsInt(); System.out.println("最大年龄为:"+maxAge); //最小年龄 Integer minAge=uList.stream().mapToInt...getAge).min().getAsInt(); System.out.println("最小年龄为:"+minAge); //年龄和 Integer sumAge=uList.stream().mapToInt