List 转 Map, 齐活!(一)

简介: 大家好,我是指北君。在我们平时的工作中,充满了各种类型之间的转换。今天指北君带大家上手 List 转 Map 的各种操作。我们将假设 List 中的每个元素都有一个标识符,该标识符将在生成的 Map 中作为一个键使用。

定义一个类型

我们在转换之前,我们先暂定一个类来用于各种转换demo的演示。

40.png


我们假定 id 字段 是唯一的, 所以我们把 id 作为 Map 的key。

使用 Java 8 之前的方法

在使用Java 8 之前,就只能使用比较传统的for 循环来转换。41.png

我们需要写一个测试代码,测试下是否正常运行了。

42.png

使用Java 8 stream

在Java 8 之后,我们可以通过新增的 Stream API 来进行转换操作

43.png

测试代码

44.png

使用Guava库

除了使用核心的Java API ,我们还能通过第三方库来实现这些操作。

使用Guava 库, 我们需要先引入依赖, 我们先在maven 中引入进来。

45.png接下来使用 Maps.uniqueIndex() 进行转换


46.png


相关文章
|
5月前
|
Dart
Dart之集合详解(List、Set、Map)
Dart之集合详解(List、Set、Map)
|
2月前
|
算法
你对Collection中Set、List、Map理解?
你对Collection中Set、List、Map理解?
36 5
|
3月前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
3月前
|
存储 Java 索引
|
5月前
|
存储 安全 Java
Java集合详解:Set, Map, Vector, List的对比与联系
Java集合框架核心包括List、Set、Map和Vector。List允许重复元素,如ArrayList(适合读取)和LinkedList(适合插入删除)。Set不允许重复,有HashSet(无序)和TreeSet(排序)。Map存储键值对,HashMap(无序)和TreeMap(排序)。Vector是线程安全的ArrayList替代品,但在多线程环境下使用。选择集合类型应根据应用场景,如有序、无序、键值对需求及线程安全考虑。
|
5月前
|
存储 安全 Java
Java 集合(List、Set、Map 等)相关问答归纳再整理
HashMap 中使用键对象来计算 hashcode 值 HashSet 使用成员对象来计算 hashcode 值,对于两个对象来说hashcode 可能相同,所以 equals() 方法用来判断对象的相等性,如果两个对象不同的话,那么返回 false。 HashMap 比较快,因为是使用唯一的键来获取对象,HashSet 较 HashMap 来说比较慢。 4.1.3 HashMap 与 TreeMap
32 2
|
5月前
|
Java
Java list中的对象转为list,list中的对象转为map
Java list中的对象转为list,list中的对象转为map
108 1
|
5月前
|
存储 安全 程序员
老程序员分享:List、Map、Set之间的联系与区别:
老程序员分享:List、Map、Set之间的联系与区别:
|
6月前
|
存储 安全 Java
Java list set map等接口及其实现类
Java list set map等接口及其实现类
|
6月前
|
存储 安全 Java
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
45 0