使用HashMap的values()方法返回的值转换为List时遇到错误

简介: 使用HashMap的values()方法返回的值转换为List时遇到错误

2000元阿里云代金券免费领取,2核4G云服务器仅664元/3年,新老用户都有优惠,立即抢购>>>


阿里云采购季(云主机223元/3年)活动入口:请点击进入>>>,


阿里云学生服务器(9.5元/月)购买入口:请点击进入>>>,

?
??????

哈喽!大家好,我是小小开发者,今天给大家分享一个在测试项目中遇到的问题,是Java中很基础的技术点,使用HashMap的values()方法转List遇到的问题。

?个人博客:https://blog.csdn.net/weixin_43759352?

?公众号:【SimpleMemory】?

??????如果有对【后端技术】感兴趣的大佬们,欢迎关注!!!??????

在项目实际开发过程中,常常遇到使用HashMap的values()方法返回List的场景;

常常看到下面使用强转的写法:

Map<Integer, String> map = new HashMap<>();
 map.put(1, "Apple");
 map.put(2, "Banana");
 map.put(3, "Orange");
 ArrayList<String> values =(ArrayList) map.values();
 System.out.println("values = " + values);

上面的写法经过运行发现,出现报错:

Exception in thread "main" java.lang.ClassCastException: java.util.HashMap$Values cannot be cast to java.util.ArrayList
    at com.simplememory.xxkfz.doc.HashMapToListExample.main(HashMapToListExample.java:19)

在Java中,如果你尝试将HashMap的values()方法返回的值转换为List时遇到错误,可能是因为类型不匹配。
HashMap的values()方法返回一个Collection类型的视图,该视图包含HashMap中所有的值。要将它转换为List,可以使用ArrayList的构造函数来创建一个新的ArrayList并将该视图作为参数传递进去。

正确的写法:

ArrayList<String> results = new ArrayList<>(map.values());

如果这篇【文章】对您有帮助,希望大家点赞、评论、关注、收藏;如果对【后端技术】感兴趣的小可爱,也欢迎关注?????? 公众号【SimpleMemory】??????,将会继续给大家带来【收获与惊喜】??!

相关文章
|
4天前
|
存储 缓存 NoSQL
利用Redis List实现数据库分页快速查询的有效方法
利用Redis List实现数据库分页快速查询的有效方法
|
4天前
|
存储 安全 Java
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
|
4天前
|
开发者 Python
【亮剑】Python中`List.append()`方法不起作用的原因及解决方案
【4月更文挑战第30天】本文探讨了Python中`List.append()`方法不起作用的原因及解决方案。问题可能源于变量作用域、可变类型与不可变类型混淆、函数内的局部变量、错误的赋值操作或并发修改。解决方法包括检查变量、确保正确操作列表、使用`global`关键字、避免错误赋值和采用同步机制处理并发问题。理解这些问题对于编写健壮的Python代码至关重要。
|
4天前
|
Java API
【亮剑】三种有效的方法来删除List中的重复元素Java的List
【4月更文挑战第30天】本文介绍了三种Java中删除List重复元素的方法:1) 使用HashSet,借助其不允许重复值的特性;2) 利用Java 8 Stream API的distinct()方法;3) 对自定义对象重写equals()和hashCode()。每种方法都附带了代码示例,帮助理解和应用。
|
4天前
List中的remove方法遇到报错不能删除以及四种解决办法点赞收藏
List中的remove方法遇到报错不能删除以及四种解决办法点赞收藏
21 0
|
4天前
使用List中的remove方法遇到数组越界
使用List中的remove方法遇到数组越界
26 2
|
4天前
|
Java
JAVA——List中剔除空元素(null)的三种方法汇总
JAVA——List中剔除空元素(null)的三种方法汇总
|
4天前
|
存储 Java 索引
java list集合相关介绍和方法使用操作
java list集合相关介绍和方法使用操作
30 1
|
4天前
|
索引
看一下List接口的常用方法
看一下List接口的常用方法
37 1
|
4天前
|
Python
python中ndarray与list转换的方法
python中ndarray与list转换的方法
47 0
http://www.vxiaotou.com