Java中关于List的一些常用操作

先定义一个List,代码如下

java 复制代码
//定义一个实例类
public class Model{
    private String id;

    private String code;

    private String name;

    //setter  getter 方法省略

}

//定义一个List,赋值过程省略
List<Model> list = new ArrayList<>();

1.将List中每一个对象的id取出,组装成新的List

java 复制代码
//示例代码
List<String> idList = list.stream().map(Model::getId).collect(Collectors.toList());

2.将List对象中取出组装成map,要求map的key是code值,value是code相同的Model类

java 复制代码
//示例代码
Map<String,List<Model>> codeMap = list.stream().collect(Collectors.groupingBy(e -> e.getCode()));

3.将List对象中的code和name的值取出,组装成一个map.(注意:如果code值重复,后赋值的name会覆盖先赋值的name值)

java 复制代码
//示例代码
Map<String, String> map = list.stream().collect(Collectors.toMap(Model::getCode,Person::getName));
相关推荐
ifanatic5 分钟前
[每周一更]-(第148期):使用 Go 进行网页抓取:Colly 与 Goquery 的对比与思路
开发语言·后端·golang
Seven9711 分钟前
剑指offer-17、树的⼦结构
java
怀旧,12 分钟前
【C++】1. C++基础知识
开发语言·c++·算法
小乖兽技术21 分钟前
C#开发基础之深入理解“集合遍历时不可修改”的异常背后的设计
开发语言·windows·c#
我今晚不熬夜28 分钟前
JSON在java中的使用
java·开发语言·json
Code季风1 小时前
Spring 异常处理最佳实践:从基础配置到生产级应用
java·spring boot·spring
回家路上绕了弯1 小时前
Java 堆深度解析:内存管理的核心战场
java·jvm
Code季风1 小时前
Spring IoC 容器性能提升指南:启动速度与运行效率优化策略
java·spring·性能优化
谦行1 小时前
前端视角 Java Web 入门手册 5.10:真实世界 Web 开发—— 单元测试
java·spring boot·后端
hhua01231 小时前
理解“无界队列”与“有界队列”及其适用场景
java·队列