为了账号安全,请及时绑定邮箱和手机立即绑定

修改map中对象

如果map的value是一个list,那么map.get(1).add(user),这样获取到一个list,向list里边添加一个user对象,这样子对吗?这样是修改了map.get(1)所对应的list吗?

正在回答

2 回答

好想法呀!!你的想法完全正确!map的value可以是一个list,但是有一点需要注意的是,list里的add()方法是添加一个新的element到list里面去,不是修改原本的值。我写了一个实现你这个想法的代码,结果是:

key = 1, value = [aaa]

key = 1, value = [aaa,bbb]

可以看到list中原本存储的list.get(0)是"aaa",现在调用了add("bbb")之后相当于给list添加了一个新的element。

代码:

public class MapList {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Map<String,List<String>> m = new HashMap<String, List<String>>();
		List<String> l = new ArrayList<String>();
		l.add("aaa");//first element in list
		m.put("1",l);
		//predefined original value of key "1"
		System.out.println("key = 1, "+"value = "+m.get("1").toString());
		//update value of key "1"
		m.get("1").add("bbb");
		System.out.println("key = 1, "+"value = "+m.get("1").toString());
		
	}

}


1 回复 有任何疑惑可以回复我~
#1

慕姐4925769

能详解吗
2018-11-21 回复 有任何疑惑可以回复我~

能发完整的吗

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

修改map中对象

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信