JAVA 8新特性Stream对列表进行排序、筛选、统计等操作

【本篇是刚学Stream所做,正在完善,欢迎大家批评指正】

上班之余看到java 8的新特性Stream,第一眼以为和文件输入流和输出流相似,后面仔细看了下,完全不同,Stream可以作为老一版本(8以前)java开发者提高到8的一个重要理由。

Stream主要的作用可以快速的完成对List列表集合数据进行排序、筛选、统计、求和等操作,功能实用性满星!

实例:

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;

import com.alibaba.fastjson.JSON;



public class StreamTest {
	
	public static void main(String[] args) {
		List<TestData>mlist = new ArrayList<TestData>();
		
		TestData data;
		//字段名为name和time
		data = new TestData("李明", "2019-06-13 10:24:05",23);
		mlist.add(data);
		
		data = new TestData("李强", "2019-06-13 11:24:05",16);
		mlist.add(data);
		
		data = new TestData("周明", "",23);
		mlist.add(data);
		
		data = new TestData("周强", "2019-06-13 08:24:05",17);
		mlist.add(data);
		
		
		List<TestData> squaresList = mlist.stream()
		//下面是筛选
        .filter(o -> !o.getTime().contains("08"))
        .filter(o -> !o.getTime().isEmpty())
        //下面是排序
        .sorted(Comparator.comparing(TestData::getTime).reversed())
        .sorted((o1,o2) -> o1.getAge()-o2.getAge())
        //下面这一行把list列表数据返回,不写就是一个布尔类型结果返回
        .collect(Collectors.toList());
	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值