Java(七):List和Map互转

简介: Java(七):List和Map互转

List转Map


Map<Integer, User> map = list.stream().collect(Collectors.toMap(User::getId, t -> t, (oldData, newData) -> newData));
Map<Integer, String> map2 = list.stream().collect(Collectors.toMap(User::getId, User::getName, (oldData, newData) -> newData));


当集合对象key重复时可根据(oldData, newData) -> newData设置保留新值还是旧值,这里是保留新值。


List对象转Map<String, List<对象>>

Map<String, List<User>> map = Maps.newHashMap();
List<User> list = this.list();
if (CollectionUtils.isEmpty(list)) {
    return map;
}
for (User item : list) {
    map.computeIfAbsent(item.getCode(), k -> new LinkedList<>()).add(item);
}


Map转List


List<User> list = map.entrySet().stream()
        .map(
                e -> User.builder().id(e.getKey()).name(e.getValue()).build()
        )
        .collect(Collectors.toList());
相关文章
|
5天前
|
存储 安全 Java
Java基础之集合Map
【7月更文挑战第8天】Java中的Map集合以键值对方式存储数据,如`Map&lt;&quot;name&quot;, &quot;张三&quot;&gt;`。Map接口定义了存取、判断、移除等操作,包括`put`、`get`、`containsKey`等方法。HashMap是最常用的实现,基于哈希表,允许null键值,但不保证顺序。其他实现包括同步的Hashtable、处理属性文件的Properties、保持插入顺序的LinkedHashMap、基于红黑树的TreeMap、弱引用的WeakHashMap、并发安全的ConcurrentHashMap和针对枚举优化的EnumMap。
11 4
|
14天前
|
存储 安全 Java
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
|
6天前
|
存储 Java 索引
Java List接口实现原理与性能评估
Java List接口实现原理与性能评估
|
6天前
|
存储 安全 Java
Java Map集合:选择正确的实现方式
Java Map集合:选择正确的实现方式
|
11天前
|
Java
java lab 8------7-1 sdut-JAVA-a contacts list(s)(multi-arraylists)
java lab 8------7-1 sdut-JAVA-a contacts list(s)(multi-arraylists)
8 0
|
12天前
|
存储 缓存 安全
Java List操作详解及常用方法
Java List操作详解及常用方法
|
13天前
|
存储 Java 索引
Java List接口实现原理与性能评估
Java List接口实现原理与性能评估
|
14天前
|
Java
Java Map.Entry接口详解
Java Map.Entry接口详解
|
18天前
|
存储 安全 程序员
老程序员分享:List、Map、Set之间的联系与区别:
老程序员分享:List、Map、Set之间的联系与区别:
|
18天前
|
存储 设计模式 并行计算
CopyOnWriteArrayList:深入理解Java中的线程安全List原理和应用
CopyOnWriteArrayList:深入理解Java中的线程安全List原理和应用