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

list中map对象的取值,该如何处理

2011-12-27 
list中map对象的取值有一个list的对象里面存放的都是map的对象lista{map(name11,tag1)map(name23,tag1

list中map对象的取值
有一个list的对象里面存放的都是map的对象
list   a{
map(name=   11,tag=1)
map(name=   23,tag=1)
map(name=   12,tag=0)
map(name=   13,tag=1)
map(name=   24,tag=0)
map(name=   71,tag=1)
map(name=   16,tag=0)
}

现在想取a中的name为12的tag值应该怎么操作?
name的值是唯一的。

[解决办法]
楼主是用list存放map,但是每个map只存放一个pair?
这样的话何不直接用一个map?
[解决办法]
循环取一遍
[解决办法]
Map map;
for (int i = 0; i < list.size(); i++) {
map = list.get(i);
if (map.get( "name ").equals( "12 "))
return map.get( "tag ");
}
[解决办法]
for(Iterator it = list.iterator(); it.hasNext();) {
Map map = (Map) it.next();
if (map.containsKey( "12 ")) {
return map.get( "12 ");
}
}
[解决办法]
list还有key?
[解决办法]
public Object getMap(list l){
Map map = new HashMap();
for (int i = 0; i < l.size(); i++) {
map = l.get(i);
if (map.get( "name ").equals( "12 "))
return map.get( "12 ");
}
}
[解决办法]
无法保证不会重复,如果能保证,那么这个结构设计有问题。

总之:肯定有地方想法不对路了
[解决办法]
循环取了对比name,
不知道这有什么难的...
[解决办法]
新手 不知道key值可不可以重复 不可以的话直接找value就行了吧
[解决办法]
感觉就如读绕口令
[解决办法]
很简单的问题被你们想得乱七八糟
[解决办法]
for(Iterator it = list.iterator(); it.hasNext();) {
Map map = (Map) it.next();
if (map.containsKey( "12 ")) {
return map.get( "12 ");
}
}
------------------------------------------

同意vagrant1984同志的看法

[解决办法]
看起来这种问题只好通过迭代判断了
[解决办法]
不会有这种用法
[解决办法]
equal呗

热点排行