java如何在HashMap中检索ArrayList值中的元素?
我是Java新手,我正在努力找出一些琐碎的东西
我有一个HashMap
类型为String
的键和类型为ArrayList <String>
的值,它返回如下内容:
dict = {Color=[Blue, Purple]}
我正在努力弄清楚如何从dict值的数组中获取一个特定元素。比如,如果我得到dict.value[0]
,它将返回字符串“Blue”
我试过做:
Object values = dict.values().toArray[0];
我假设因为我把它改成了一个数组,我可以做一些类似于values.get(0)
的事情来获取第一个元素,但是这不起作用,因为值的类型是Object
。有没有办法解决这个问题
# 1 楼答案
如果您的
HashMap
类似于:填充后的地图如下所示:
然后您可以检索Blue的键值(a
List
),如:要获取地图(或“字典”)中所有键的集合,请执行以下操作:
将提供:
当您这样做时:
首先,这是错误的。你想做的是:
返回
Object[]
且不明确。没必要那样做。Java的Map
接口和HashMap
实现有许多实用方法供您迭代和检索值# 2 楼答案
强制转换为
java.util.List
类型,然后您可以通过索引获得值# 3 楼答案
首先,使用map上的
.get()
来使用key获取ArrayList然后使用列表上的
.get()
来使用索引获取元素你可以用一行这样做
您正在尝试使用},您可以通过这种方式获取值列表
dict.values().toArray[0]
,这是错误的语法,这就是问题所在dict.values()
将返回{然后可以使用
.get()
通过索引访问每个值注意:HashMap不存储任何订单