java1.8Stream流式算法

Posted 下饭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java1.8Stream流式算法相关的知识,希望对你有一定的参考价值。

取出list的里面userId的那一列

List<String> userList = list.stream().map(userInfo ->userInfo.getDnUserId()) .collect(Collectors.toList())

list按照DataItem分组

Map<String,List<DeviceDataVo>> map=list.stream().collect(Collectors.groupingBy(DeviceDataVo::getDataItem,
        Collectors.mapping(a->a,Collectors.toList())));

list按照年龄从小到大排序

List<User> collect2 = list.stream().sorted((s1, s2) -> s1.getAge() - s2.getAge()).collect(Collectors.toList());
collect2.forEach(x->{
    System.out.print(x.getAge());
});

取出年龄的最大值

Optional<User> collect1 = list.stream().collect(Collectors.maxBy((s1, s2) -> s1.getAge() - s2.getAge()));

summingInt、summingLong、summingDouble取出总和

averageInt、averageLong、averageDouble取出平均值

Counting是计数 distinct去重

遍历map集合

   for (Map.Entry<String,List<DeviceDataVo>>

entry:map.entrySet()){
    List<DeviceDataVo> dataList=entry.getValue();

}

xData的内容去重

xData=xData.stream().distinct().collect(Collectors.toList());

取出符合条件的数据

List<DeviceDataVo> inDatas=dataList.stream().filter(x->x.getKey().equals(in)).collect(Collectors.toList());

以上是关于java1.8Stream流式算法的主要内容,如果未能解决你的问题,请参考以下文章

Jdk8之lambda表达式的使用及流式算法

Spark Streaming简介

Java学习:Stream流式思想

java_Stream 流式计算

Stream流式编程详解

java的stream流式编程总结