Java8 Stream流 对数据流式处理,提高了编程数据对数据分析清洗和筛选匹配
取代了SQL语句,在大数据的环境下,依赖SQL性能比较低了,Stream对数据的流式处理
Stream对数据的流式处理 1、数组 2、集合
Java 8 Stream
- forEach:终止操作
- filter 筛选操作【条件】
- limit(5) 取5条
- skip()跳过
- System.out::println输出语句,通常与forEach连用
public class Test {
private static ArrayList<User> lists=null;
static {
lists=new ArrayList<User>();
lists.add(new User(101,"小李",40,"男","南京市"));
lists.add(new User(105,"阿顺",22,"男","苏州市"));
lists.add(new User(104,"阿申",21,"男","无锡市"));
lists.add(new User(102,"阿宇",22,"男","南京市"));
lists.add(new User(107,"阿亮",21,"男","南京市"));
lists.add(new User(106,"阿纯",22,"男","南京市"));
lists.add(new User(108,"阿帆",20,"男","南京市"));
lists.add(new User(109,"阿圣",19,"男","南京市"));
lists.add(new User(103,"阿康",18,"男","泰州市"));
lists.add(new User(100,"阿莹",23,"女","盐城市"));
}
/*forEach:终止操作
* filter 筛选操作【条件】
* limit(5) 取5条
* skip()跳过
* */
public static void main(String[] args) {
//统计用户年龄大于20岁的员工信息
lists.stream().filter(e->e.getAge()>20).forEach(System.out::println);
System.out.println("--------------------------------------------------------");
//统计用户年龄大于20岁的是女性员工信息
lists.stream().filter(e->e.getAge()>20).filter(e->e.getSex().equals("女")).forEach(System.out::println);
System.out.println("--------------------------------------------------------");
//取5条
lists.stream().limit(5).forEach(System.out::println);
System.out.println("--------------------------------------------------------");
//跳过前三条,取5条
lists.stream().skip(3).limit(4).forEach(System.out::println);
System.out.println("--------------------------------------------------------");
//统计员工中的男性员工的数量
long count=lists.stream().filter(e->e.getSex().equals("男")).count();
System.out.println(count);
}
}