没有合适的资源?快使用搜索试试~ 我知道了~
首页不用遍历的方式在对象集合list中抽取属性集合转化为map或list
首先新建一个实体类Person @Data public class Person { /** 编码 */ private String code; /** 名字 */ private String name; public Person(String code, String name) { this.code = code; this.name = name; } } 实例化三个对象放入list集合中 public static void main(String[] args) { Person pe
资源详情
资源评论
资源推荐

不用遍历的方式在对象集合不用遍历的方式在对象集合list中抽取属性集合转化为中抽取属性集合转化为map或或
list
首先新建一个实体类Person
@Data
public class Person {
/** 编码 */
private String code;
/** 名字 */
private String name;
public Person(String code, String name) {
this.code = code;
this.name = name;
}
}
实例化三个对象放入list集合中
public static void main(String[] args) {
Person person1 = new Person("001", "张三");
Person person2 = new Person("002", "李四");
Person person3 = new Person("002", "王五");
List personList = new ArrayList();
personList.add(person1);
personList.add(person2);
personList.add(person3);
personList.forEach(t -> System.out.println(t.toString()));
}
输出结果为:
Person(code=001, name=张三)
Person(code=002, name=李四)
Person(code=002, name=王五)
1.抽取对象的抽取对象的code作为作为key,,name作为作为value转化为转化为map集合集合
方法为
private static HashMap listToMap(List personList) {
return (HashMap)personList.stream()
.filter(t -> t.getName()!=null)
.collect(Collectors.toMap(Person::getCode,Person::getName,(k1,k2)->k2));
}
filter() 方法作用是过滤掉名字为空的对象,当对象的名字为null时,会出现NPE空指针异常
(k1,k2)->k2 意思是遇到相同的key时取第二个值
(k1,k2)->k1 意思是遇到相同的key时取第一个值
调用这个方法
HashMap personMap = listToMap(personList);
personMap.forEach((k,v)-> System.out.println(k.toString() + " - " + v.toString()));
输出结果为:
001 - 张三
002 - 王五
2.抽取对象的抽取对象的name得到得到name的的list集合集合
方法为
private static List getNameList(List personList) {
return personList.stream().map(Person::getName).collect(Collectors.toList());
}
调用这个方法
List nameList = getNameList(personList);
nameList.forEach(t -> System.out.println(t.toString()));



















weixin_38706455
- 粉丝: 5
- 资源: 922
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- ARM Cortex-A(armV7)编程手册V4.0.pdf
- ABB机器人保养总结解析.ppt
- 【超详细图解】菜鸡如何理解双向链表的python代码实现
- 常用网络命令的使用 ipconfig ping ARP FTP Netstat Route Tftp Tracert Telnet nslookup
- 基于单片机控制的DC-DC变换电路
- RS-232接口电路的ESD保护.pdf
- linux下用time(NULL)函数和localtime()获取当前时间的方法
- Openstack用户使用手册.docx
- KUKA KR 30 hA,KR 60 hA机器人产品手册.pdf
- Java programming with JNI
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0