随笔都是学习笔记
随笔仅供参考,为避免笔记中可能出现的错误误导他人,请勿转载。

简介:

从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 2022-03-19 13:39  时间完全不够用啊  阅读(323)  评论(0编辑  收藏  举报