Lists.transform的使用
转自:https://blog.csdn.net/weixin_42201566/article/details/81513769
Lists.transform:能够轻松的从一种类型的list转换为另一种类型的list。
使用场景:
1、把一个List<Map<String,String>> 中的 所有map对应某个key的value值取出来 返回一个新的list
Map<String,String> map = Maps.newHashMap();
map.put("1","test1");
map.put("2","test2");
Map<String,String> map2 = Maps.newHashMap();
map2.put("1","test3");
map2.put("4","test2");
List<Map<String,String>> list2=Lists.newArrayList();
list2.add(map);
list2.add(map2);
List<String> list3=Lists.transform(list2,s->s.get("1"));
list3.forEach(s -> System.out.println(s));
2、通常可以使用Lists.transform把对象list中的某个属性取出来 返回一个新的list:如下代码
public static void main(String[] args) { List<Result> resultList=Lists.newArrayList(new Result(1,"test1"),new Result(2,"test2"),new Result(3,"test3"));
//将一个list转化为另外一个list
List<String> nameList=Lists.transform(resultList,tuple -> tuple.getNameStr()); nameList.forEach(s -> System.out.println(s));
System.out.println("============");
resultList.forEach(result -> {
result.setNameStr("reset");
});
nameList.forEach(s -> System.out.println(s)); } class Result{
private Integer id;
private String nameStr; public Result(Integer id, String nameStr) {
this.id = id;
this.nameStr = nameStr;
} public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getNameStr() {
return nameStr;
} public void setNameStr(String nameStr) {
this.nameStr = nameStr;
} }
结果:
test1
test2
test3
============
reset
reset
reset
结论:
当Lists.transform()处理的list的值发生改变,那么Lists.transform()处理的结果也会发生改变
Lists.transform的使用的更多相关文章
- com.google.common.collect.Lists#transform使用注意
/** * Returns a list that applies {@code function} to each element of {@code * fromList}. The return ...
- guava Lists.transform使用
作用:将一个List中的实体类转化为另一个List中的实体类. 稍微方便一点.例如:将List<Student>转化为List<StudentVo> Student: pack ...
- Guava Lists.transform踩坑小记<转>
1.问题提出 1.前段时间在项目中用到Lists.transform返回的List,在对该list修改后发现修改并没有反映在结果里,研究源码后发现问题还挺大.下面通过单步调试的结果来查看Guava L ...
- Transformer-view java实体 转换视图 Lists.transform
自: https://blog.csdn.net/mnmlist/article/details/53870520 meta_ws 连接: https://github.com/kse-music/d ...
- 在使用Lists.transform时,不会直接生成PurchaseOrderVo的集合对象,而是生成一个Function的集合
但是在使用Lists.transform时,不会直接生成PurchaseOrderVo的集合对象,而是生成一个Function的集合,在循环的时候,会去调用apply 生成一个PurchaseOrde ...
- Lists
List类主要提供了对List类的子类构造以及操作的静态方法.在类中支持构造ArrayList.LinkedList以及newCopyOnWriteArrayList对象的方法.其中提供了以下构造Ar ...
- [置顶] Guava学习之Lists
Lists类主要提供了对List类的子类构造以及操作的静态方法.在Lists类中支持构造ArrayList.LinkedList以及newCopyOnWriteArrayList对象的方法.其中提供了 ...
- guava学习--Function、Predicate
Function用于同步转换. Predicate用于过滤. import java.util.Collection; import java.util.Iterator; import java.u ...
- guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用
guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用 1,大纲 让我们来熟悉瓜娃,并体验下它的一些API,分成如下几个部分: Introduction Guava Collection ...
随机推荐
- springboot集成mybatis及mybatis generator工具使用
原文链接 前言mybatis是一个半自动化的orm框架,所谓半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernat ...
- 你真的了解Spring Framework吗?
Java 框架 上世纪90年代,使用Java开发Web应用普遍使用J2EE标准,J2EE具有平台无关性,对事务.消息等企业级的特性都有很好的支持,但当时的J2EE仍存在一些问题: 非常复杂:EJB的诞 ...
- WPF中的Style(风格,样式)
作者: 周银辉 来源: 博客园 发布时间: 2009-02-27 15:04 阅读: 6698 次 推荐: 0 原文链接 [收藏] 在WPF中我们可以使用Style来设置控件的某些 ...
- 【转】Vue.js特点
作为一名Vue.js的忠实用户,我想有必要写点文章来歌颂这一门美好的语言了,我给它的总体评价是“简单却不失优雅,小巧而不乏大匠”,下面将围绕这句话给大家介绍Vue.js,希望能够激发你对Vue.js的 ...
- Type cvc-complex-type.2.4.a: Invalid content was found starting with element 'build'.错误的解决方法
项目突然间爆出了这样的问题: Description Resource Path Location Typecvc-complex-type.2.4.a: Invalid content was fo ...
- php date时间的获取
1.得到当前时间:date('Y-m-d H:i:s',time()); 2.得到这个月有多少天:echo $getDay = date('t',date('Y-m-d', time())); 3.得 ...
- HDOJ1000
#include<iostream> using namespace std; int main() { int a,b; while(cin >> a >> b) ...
- OAF系统更新默认LOGO图标和主页环境描述
更新EBS OAF系统中默认的LOGO图标和主页的环境描述 左上角的ORACLE图片位置在 登录界面左上角oracle LOGO图片为GIF格式,大小155*20 背景透明.文件名为:FNDSSC ...
- pyspark使用ipython
在Ubuntu下,安装ipython很简单: $sudo apt-get install ipython 在bash env中添加变量: export IPYTHON=1 export IPYTHON ...
- hadoop mysql install (5)
reference : http://dblab.xmu.edu.cn/blog/install-mysql/ http://wiki.ubuntu.org.cn/MySQL #install mys ...