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());
	}

}

 

    原文作者:未来会更好yes
    原文地址: https://blog.csdn.net/sinat_32448031/article/details/91801729
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞