随笔都是学习笔记
随笔仅供参考,为避免笔记中可能出现的错误误导他人,请勿转载。
posts - 398,comments - 0,views - 13万

简介:

从JDK1.8大数据时代开始,类集中也有支持数据流式分析处理操作,有一个专门的Stream接口,同时在Collection接口中提供有实例化Stream接口的方法:

public default Stream<E> stream() {
        return StreamSupport.stream(spliterator(), false);
    }

Stream主要功能是进行数据的分析操作,同时也是针对于集合的数据分析操作:

复制代码
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.stream.Stream;

public class MAIN {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        Collections.addAll(list, "java","javaScript","Html","Python","C++");    // 添加元素
        Stream<String> stream = list.stream();    // 获得Stream的接口对象
//        System.out.println(stream.count());    // 输出元素的个数
        // 要求将每一个元素的字母变为小写字母,然后判断包含字母j的元素有几个
        System.out.println(stream.filter((ele)-> ele.toLowerCase().contains("j")).count());
    }
}
复制代码

输出结果:


 

数据采集:

复制代码
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class MAIN {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        Collections.addAll(list, "java","javaScript","Html","Python","C++");    // 添加元素
        // 将满足条件的元素汇集转为List集合
        List<String> cll = stream.filter((ele)-> ele.toLowerCase().contains("j")).collect(Collectors.toList());
        System.out.println(cll);
        
    }
}
复制代码

输出结果:

 

 

 

在Stream数据流进行数据的处理过程中还允许分页处理:

- 设置取出的最大的数据量:public Stream<T> limit(long maxSize);
- 跳过指定数据量:public Stream<T> skip(long n);

代码实现:

复制代码
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class MAIN {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        Collections.addAll(list, "java","javaScript","Js","Jsp","JJ","Html","Python","C++","R","GO","PHP","Css","C","C#","SQL","MySQL","Orecle");    // 添加元素
        List<String> collect = stream.filter((ele)-> ele.toLowerCase().contains("j")).skip(2).limit(3).collect(Collectors.toList());
        System.out.println(collect);
        
    }
}
复制代码

输出结果:

 

posted on   时间完全不够用啊  阅读(352)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示