GraphQL 人脸识别 server db2 wso2 vue版本 后台管理网页模板 php项目实战 hadoop源码 java数据分析 java多行注释 h5下拉刷新 bootstrap文本框 python学习 python迭代器 python中assert python字典类型 python高级 python在线教程 python中open javadate java数组扩容 java设置 java怎么配置 java删除文件 怎么安装linux 行业软件下载 超级兔子ie修复专家 alphacam workflow中文 labview宝典 御旌是什么 梦幻手游助手 批量插入数据 cad自动保存位置 电脑待机费电吗 彻底卸载mysql 免费ftp空间 python字符串 冬青黑体简体中文
当前位置: 首页 > 学习教程  > 编程语言

Java8中的Stream的Map、Filter、limit、去重,删除之前的元素,最大值,最小值

2020/10/8 20:07:29 文章标签:

Stream中常用的方法Steam的优势常用方法Filter 过滤Map方法Limit限制返回个数Distinct 去重操作skip 删除之前的元素min 最小值Steam的优势 在项目中经常用到集合,遍历集合lambda表达式,要对集合进行过滤和排序,Stream就派上用场了。Stream作…

Stream中常用的方法

  • Steam的优势
    • 常用方法
      • Filter 过滤
      • Map方法
      • Limit限制返回个数
      • Distinct 去重操作
      • skip 删除之前的元素
      • min 最小值

Steam的优势

在项目中经常用到集合,遍历集合lambda表达式,要对集合进行过滤和排序,Stream就派上用场了。Stream作为java1.8的新特性,基于lambda表达式,它专注于对集合对象进行各种高效、可以让你从常用的if、else、for里面跳出来。提高了编程效率和代码可读性。

常用方法

Filter 过滤

一条数据过滤

	List<Partner> result = byParentUid.stream()
                .filter((Partner p) -> p.getGrade().equals("程序员"))
                .collect(Collectors.toList());

多条数据过滤

	List<Integer> age = new ArrayList<Integer>();
	age.add(1);
	age.add(2);
	List<Partner> result = byParentUid.stream()
                .filter((Partner p) -> age.contains(p.getGrade()))
                .collect(Collectors.toList());

Map方法

    Student a1 = new Student( 1,"小王","浙江" );
    Student a2 = new Student( 2,"小黄",“湖北" );
	Student a3 = new Student( 3,“小皇",“北京" );
	List<Student> students = new ArrayList<>( );
	students.add(a1);
	students.add(a2);
	students.add(a3);
private static void testMap(List<Student> students) {
	//只获取地址输出
	List<String> addresses = students.stream( ).map( s ->"住
	址: "+s.getAddress( )).collect(Collectors.toList( ));
	addresses.forEach( a ->System.out.println(a ) );

输出结果

住址:浙江
住址:湖北
住址:北京

Limit限制返回个数

public static void main(String [ ] args) {
	List<String> list = Arrays.asList( "1" ,"2","3","1" ,"2" );
	list.stream( ). limit(2). forEach( System.out: :println);

输出结果

1
2

Distinct 去重操作

public static void main(String [ ] args) {
//字符串的去重
	List<String> list = Arrays.asList( "1" ,"2","3","1" ,"2" );
	list.stream( ).distinct( ). forEach( System.out: :println);
}

输出结果

1
2
3

skip 删除之前的元素

public static void main(String [] args) {
	List<String> list = Arrays.asList( "1" ,"2","3","1" ,"2" );
	list.stream( ).skip(2). forEach(System.out: :println) ;
}

输出结果

3
1
2

min 最小值

    Student a1 = new Student( 1,"小王","浙江");
    Student a2 = new Student( 2,"小黄",“湖北");
	Student a3 = new Student( 3,“小皇",“北京");
	List<Student> students = new ArrayList<>( );
	students.add(a1);
	students.add(a2);
	students.add(a3);
Student min = students.stream().min((stu1,stu2)-> Integer.compare( stu1.getId( ),stu2.getId( )) ).get( );
System.out.println(min.toString());
}

输出结果

Student{id=1,name='小王',addresses='浙江'}

最大值同理,靠你们补了


本文链接: http://www.dtmao.cc/news_show_250209.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?