栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java流处理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java流处理

java流处理
    • 前言
    • 简介
    • 常用操作
      • 筛选(filter)
      • lambda表达式
      • 映射(map)

前言

java流处理是java8最重要的特性,在处理一些集合的时候特别方便。在工作中经常用到,做一下笔记总结一下吧!流处理内容很多,我重点写工作中经常使用的几种场景。要想详细了解,请看java8新特性之流式处理.

简介

项目中,我需要对用户的身份证进行脱敏处理,因为数据涉及推送至其他平台,所以无法在sql语句和service层处理,需要在controller层处理。

List blacklistList = (List) page.getList();
for(BlacklistEntity black : blacklistList){
	black.setIdcardno(StringUtil.TMIDCard(black.getIdcardno()));
}

上面是通常处理方法,下面使用流处理相同的操作

page.setList(page.getList().stream().map(m->{
	EntJkmRecordEntity s = (EntJkmRecordEntity)m;
	s.setIdcard(StringUtil.TMIDCard(s.getIdcard()));
	return s;
}).collect(Collectors.toList()));

虽然我也没看出简洁了多少,但是在有些时候会简洁很多,而且如果是多线程处理会更加快捷。

常用操作 筛选(filter)

在一个集合中筛选出符合我们的集合

List strList = new ArrayList<>();
strList.add("ABC");
strList.add("BAC");
strList.add("CBD");
strList.add("DEF");
strList.add("EGH");
strList.add("FJK");
strList.add("GBK");
// 筛选包含 "B" 的字符串组成新的列表
List aList =  strList.stream().filter(str -> str.indexOf("B")>-1).collect(Collectors.toList());
System.out.println("strList"+strList);
System.out.println("aList"+aList);

输出:

strList[ABC, BAC, CBD, DEF, EGH, FJK, GBK]
aList[ABC, BAC, CBD, GBK]
stream()操作将集合转换成一个流

filter()执行我们自定义的筛选处理

lambda表达式

collect()对结果进行封装处理

Collectors.toList()指定其封装成为一个List集合返回
lambda表达式
// 1. 不需要参数,返回值为 5  
() -> 5  
  
// 2. 接收一个参数(数字类型),返回其2倍的值  
x -> 2 * x  
  
// 3. 接受2个参数(数字),并返回他们的差值  
(x, y) -> x – y  
  
// 4. 接收2个int型整数,返回他们的和  
(int x, int y) -> x + y  
  
// 5. 接受一个 string 对象,并在控制台打印,不返回任何值(看起来像是返回void)  
(String s) -> System.out.print(s)
->      执行
::       执行类中的方法
映射(map)

一般用于处理集合中对象的数据

page.setList(page.getList().stream().map(m->{
	EntJkmRecordEntity s = (EntJkmRecordEntity)m;
	s.setIdcard(StringUtil.TMIDCard(s.getIdcard()));
	return s;
}).collect(Collectors.toList()));

还有一些没用到我就不写了,以后用到再记录下来。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/677571.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号