java map中有3个key,对应value中的3个list,怎么取出对应的list

java map中有3个key,对应value中的3个list,怎么取出对应的list,第1张

如:

List<数据类型> list = (List<数据类型>)mapget("key");

由于mapget();返回的是Object类型,这里需要强制转型。

答案是:List

c

=

(List)bget("a");

你可以使用增强FOR循环来做

这样效率更高些。

比如将你的问题完善下:

//初始化数据

ArrayList

list

=

new

ArrayList

();

listadd("test1");

HashMap

>

map

=

new

HashMap

>();

mapput("testMap",list);

//使用增强FOR循环输出结果

for(MapEntry

>

maps:

map

entrySet()){

//rtnList就是你想要得到的List

ArrayList

rtnList

=

mapsgetValue();

//rtnKey就是map的key

String

rtnkey

=

mapsgetKey();

}

list是个接口,arrayList是个实体类。。。

你要是有需求这样转化就相当于要将arrayList转化为List

如果真出现这种情况就说明你声明的就出了问题

要转化也可以,只不过也没必要

转化的方法:重新定义一个Map对象,将其泛型定义为<String,List<String>>

然后给此Map赋予以前的key

例子:

//模拟已存在的Map<String, ArrayList<String>>类型数据

//其key为"number",value为1-100

ArrayList<String> arList = new ArrayList<String>();

Map<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();

for (int i = 0; i < 100; i++) {

arListadd((1+i)+"");

}

mapput("number", arList);

//模拟数据结

List<String> list = new ArrayList<String>();

listaddAll(arList);

Map<String,List<String>> map2 = new HashMap<String,List<String>>();

map2put("number", list);

如果key为多个值,请用iterator进行全部遍历。

另外,出方法的时候最好将原有的引用置空,以方便GC可以在第一时间回收

以上就是关于java map中有3个key,对应value中的3个list,怎么取出对应的list全部的内容,包括:java map中有3个key,对应value中的3个list,怎么取出对应的list、JAVA 如何获取存放在MAP中的list 对象、java Map<String,ArrayList<String>> 如何转化为Map<String,List<String>>等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9704545.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存