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 ...
随机推荐
- PHP算法之排序算法(PHP内置排序函数)
首先用实例来讲述一下PHP内置的一些排序函数 [a / k] sort [/ rsort]:[保留索引关系 / 按键名(保留键名关系,适用于关联数组)] 对数组进行排序,结束时数组单元将被从最低到最高 ...
- English trip V1 - 8.What's in My Bag? 我的包里面有什么? Teacher:Corrine Key: plular(复数) and singular(单数)
In this lesson you will learn to talk about the things you have. 您将学习如何谈论您拥有的东西 课上内容(Lesson) What' ...
- springboot实现java代理IP池 Proxy Pool,提供可用率达到95%以上的代理IP
一.背景 前段时间,写java爬虫来爬网易云音乐的评论.不料,爬了一段时间后ip被封禁了.由此,想到了使用ip代理,但是找了很多的ip代理网站,很少有可以用的代理ip.于是,抱着边学习的心态,自己开发 ...
- Ultimate Weirdness of an Array CodeForces - 671C (gcd,线段树)
大意: 定义一个数列的特征值为两个数gcd的最大值, $f(l,r)$表示数列删除区间$[l,r]$的元素后剩余元素的特征值, 求$\sum_{i=1}^n\sum_{j=i}^n{f(i,j)}$ ...
- Three Pieces CodeForces - 1065D (BFS)
链接 大意: n*n棋盘, 每个格子写有数字, 各不相同, 范围[1,n*n], 初始在数字1的位置, 可以操纵knight,bishop,rook三种棋子, 每走一步花费1, 交换棋子花费1, 问按 ...
- Thrift0.11.0基于Intellij IDEA的简单的例子
前言 目前流行的服务调用方式有很多种,例如基于 SOAP 消息格式的 Web Service,基于 JSON 消息格式的 RESTful 服务等.其中所用到的数据传输方式包括 XML,JSON 等,然 ...
- OAF开发中一些LOV相关技巧 (转)
原文地址:OAF开发中一些LOV相关技巧 在OAF开发中,LOV的使用频率是很高的,它由两部分构成一是页面上的LOV输入框(如OAMESSageLovInputBean),二是弹出的LOV模式窗口(O ...
- DIV字体
1.如何设定文字字体.颜色.大小 —— 使用font font-style设定斜体,比如font-style: italicfont-weight设定文字粗细,比如font-weight: bold; ...
- React-Router v4.0 hashRouter使用js跳转
React-Router v4.0上已经不推荐使用hashRouter,主推browserRouter,但是因为使用browserRouter需要服务端配合可能造成不便,有时还是需要用到hashRou ...
- PHP:第二章——PHP中的switch语句
<?php header("Content-Type:text/html;charset=utf-8"); /* switch语句: */ //例1: /*$i = 99; ...