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)

请问结果会怎样

我来回答你吧~
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>。
希望帮助了你吧。最好自己动手试试。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-29
map put同样的key的话会把原来的value覆盖,所以不会有重复的key,value没有限制

你这个结果就是lists里面有两个元素
a 对应一个 ArrayList<b>
b 对应一个 ArrayList<a>
第2个回答  2010-06-29
key不能重复,value是可以重复的

你这代码没什么结果
相似回答