java中Map可以有相同的value吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中Map可以有相同的value吗相关的知识,希望对你有一定的参考价值。
Map<String, List> lists = new HashMap<String, List>(); List<Record> list = recordDAO.getRcord(rm); //都掉同一方法 List<b> recordList = new ArrayList<b>(); lists.put("a",recordList ) List<a> reList = new ArrayList<a>(); lists.put("b",reList) 请问结果会怎样
参考技术A 我来回答你吧~map是可以放相同的value的,不过key值必须唯一。
按你这个
代码
,List<b>
recordList
=
new
ArrayList<b>();
得到一个空的list,然后放入了map中。
List<a>
reList
=
new
ArrayList<a>();
又得到一个空list,然后放入了map中。
这样当你通过key
"a"或者"b"取值时候,都会得到一个size为0的list的。
但注意这个时候你取出的list是List这样的类型,并未
泛型
化,需要进行强转来得到List<b>或List<a>。
希望帮助了你吧。最好自己动手试试。
java map表里,key值能否映射到多个Value?
参考技术Amap中的key和value是一一对应的,但是这里的value可以是一个集合,里面可能包含很多值,这样可以实现。使用时,要循环来访问。
Map的可以唯一无序,value无序且不唯一,所以不同的key会有相同的value,但是他的对内存中还是存储着多个相同的value,这是因为在存到里面的时候是根据hash码存的,hash是唯一的。
扩展资料:
注:将可变对象用作映射键时必须格外小心。当对象是映射中某个键时,如果以影响 equals比较的方式更改了对象的值,则映射的行为将是不确定的。此项禁止的一种特殊情况是不允许某个映射将自身作为一个键包含。虽然允许某个映射将自身作为值包含,但请格外小心:在这样的映射上 equals 和 hashCode方法的定义将不再是明确的。
参考资料来源:百度百科-Map
以上是关于java中Map可以有相同的value吗的主要内容,如果未能解决你的问题,请参考以下文章