List中修改其中一个值

wyj1983 2011-08-16 02:47:34
public List getList(){
List list = new ArrayList();
Map map1 = new HashMap();
Map map2 = new HashMap();
Map map3 = new HashMap();
Map map4 = new HashMap();
map1.put("tid", "a");
map1.put("tablename", "上海");
list.add(map1);
map2.put("tid", "b");
map2.put("tablename", "北京");
list.add(map2);
map3.put("tid", "c");
map3.put("tablename", "天津");
list.add(map3);
map4.put("tid", "d");
map4.put("tablename", "深圳");
list.add(map4);

return list;
}
这个list中 我想把map3中的“天津”改成“太原”,怎么改
...全文
854 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
SIOSXIAOQIANG 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lance_game 的回复:]
for(int i = 0; i < list.size(); i++) {
HashMap _map = (HashMap) list.get(i);
if("天津".equals(_map.get("tablename")) {
_map.put("tablename","太原");
}
}
[/Quote]
这个是最好的方法了,原因是假设不知道list中有多少map的话,并且不知道此map是什么,使用此方法绝对可以的。
zn85600301 2011-08-19
  • 打赏
  • 举报
回复
看看 API就知道了
keaixiaozhu7688 2011-08-19
  • 打赏
  • 举报
回复
map.put、如果key一样、value将被覆盖
luohuijun619 2011-08-17
  • 打赏
  • 举报
回复
这个还不简单啊,先遍历,再修改
阳明 to life 2011-08-16
  • 打赏
  • 举报
回复
LZ作甚在
zl3450341 2011-08-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 alexandertech 的回复:]

((HashMap)list.get(2)).put("tablename","太原");
[/Quote]
++
莫欺少年穷 2011-08-16
  • 打赏
  • 举报
回复
map3.put("tablename", "太原");

hashmap自动替换原有同名键值!最简最直接。。。。直接重新put
完美灬缺陷 2011-08-16
  • 打赏
  • 举报
回复
遍历出来、在替换就行了。
lance_game 2011-08-16
  • 打赏
  • 举报
回复
for(int i = 0; i < list.size(); i++) {
HashMap _map = (HashMap) list.get(i);
if("天津".equals(_map.get("tablename")) {
_map.put("tablename","太原");
}
}
五哥 2011-08-16
  • 打赏
  • 举报
回复
应该先遍历出来 “天津”

得到Map ,然后改成“太原”,
然后替换
guoyang842 2011-08-16
  • 打赏
  • 举报
回复
楼主问这么简单的问题到底想干什么,我怀疑。。
qybao 2011-08-16
  • 打赏
  • 举报
回复
方法1,取得list中的对应map,重新设置tablename,即1L的代码
((HashMap)list.get(2)).put("tablename","太原");

方法2,重新生成一个map,设置好相应的值,然后替换掉list中的map
Map m = new HashMap();
m.put("tid", "c");
m.put("tablename", "太原");
list.set(2, m);
剑神一笑 2011-08-16
  • 打赏
  • 举报
回复
((HashMap)list.get(2)).put("tablename","太原");
刚不是发了一个帖子么
飞跃颠峰 2011-08-16
  • 打赏
  • 举报
回复
((HashMap)list.get(2)).put("tablename","太原");

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧