首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

java中的List和Map里的有关问题

2012-09-07 
java中的List和Map里的问题java中关于List和Map的问题标签: java,list,mappublic class test1 {private Ma

java中的List和Map里的问题
java中关于List和Map的问题 

标签: java, list, map 

public class test1 {

private Map mes;


public Map message() {
mes = new HashMap();
mes.put("yjh", "07201138");
return mes;
}

public static void main(String args[]) {

test1 t=new test1();
Map map=new HashMap();
map=t.message();
List l=new ArrayList();
l.add(map);
System.out.println(l.get(0));
map.put("d", l.get(0));
System.out.println(map.get("d"));

}

}

代码是这样的为什么我第二个 System.out.println(map.get("d"));打印出来的
会是{d=(this Map), yjh=07201138}而不是d={ yjh=07201138 }呢?
为什么会上这样的呢? 
Map不是键值对应吗?



[解决办法]
因为l.add(map);
所以:l.get(0)是一HashMap
所以:map.put("d",一HashMap);
你再map.get("d")自然返回一HashMap,呵呵!
[解决办法]
你放进的是什么,他返回就会是什么
第一次你打印的是一个list,这个list
里面的放的是一个map所以会是{yjh=07201138}
第二次你在map里面放进来一个map,并且这个map
而且还是他自己,
所以会这样.要不你再打印一下list.get(0),估计和map.put的
结果是一样的

[解决办法]

List 同 Set 是继承至Collections 接口的
 
Map 提供Key value 的映射,Key 和 value 都不可以重复哦,
[解决办法]
你的这个d={ yjh=07201138 };key,value在哪?
{d=(this Map), yjh=07201138};这个,key是d=(this Map),value是yjh=07201138,至于key是d=(this Map),因为你没有指定,jdk给你自动指定。呵呵!

热点排行