JAVA 如何获取存放在MAP中的list 对象?

作者&投稿:安府 (若有异议请与网页底部的电邮联系)
我在List中存放了一个map,我想在java后台获取这个List中map中的值~

LIST 是以数组形式存储的 map是以key-value形式
Map map =(Map)list.get(i);
取到了map 在从map里面get(key)就行了
key是你当初存放在map里面的关键字

Map不允许重复的键。Map。你每次向里边put键没有改变,后放入的值会覆盖先前的值。导致的结果就是,你两个Map中,实际上都只有一对键值。另外你的遍历方法iterator好像使用也不对。感觉你应该把Map这些集合类搞明白在编程,就是说基础要打牢。。

一个List对象也无非是一个对象,在Map里存取放置都是一种方式,如果你确定取出来的是某类的对象,直接转型就可以了:
List c = (List)b.get("a");

在JDK1.5以上提供了泛型,能够更好地控制类型,减少强行转型的次数。比如我们如果知道这些List里的元素永远是String的话,你就可以写
List<String> a = new ArrayList<String>;
HashMap<String,List<String>> b =new HashMap<String,List<String>>();
b.put("a",a);
...
List<String> c = b.get("a");
最后一步不需要强行转型,而且如果在b.put("a",a);这一步如果你想往b里面放一个不是List<String>的东西,或者使用的key不是一个String,编译器就会抗议。

泛型学起来有一定难度,尤其是一些高级用法,写起来有时会觉得繁琐,但是我认为物有所值,能够帮助我们在编译期发现不少潜在问题,写出代码更强健。

答案是:List c = (List)b.get("a");
你可以使用增强FOR循环来做 这样效率更高些。
比如将你的问题完善下:
//初始化数据
ArrayList<String> list = new ArrayList<String>();
list.add("test1");
HashMap<String,ArrayList<String>> map = new HashMap<String,ArrayList<String>>();
map.put("testMap",list);
//使用增强FOR循环输出结果
for(Map.Entry<String, ArrayList<String>> maps: map .entrySet()){
//rtnList就是你想要得到的List
ArrayList rtnList = maps.getValue();

//rtnKey就是map的key
String rtnkey = maps.getKey();

}

汗!刚学java 没几天???

List c = (List)b.get("a");


应城市13661884568: JAVA 如何获取存放在MAP中的list 对象? -
谷莉甘利: 一个List对象也无非是一个对象,在Map里存取放置都是一种方式,如果你确定取出来的是某类的对象,直接转型就可以了:List c = (List)b.get("a"); 在JDK1.5以上提供了泛型,能够更好地控制类型,减少强行转型的次数.比如我们如果知道...

应城市13661884568: 在List中存放了一个map,怎么在java后台获取这个List中map中的值? -
谷莉甘利: LIST 是以数组形式存储的 map是以key-value形式 Map map =(Map)list.get(i); 取到了map 在从map里面get(key)就行了 key是你当初存放在map里面的关键字

应城市13661884568: Java和Android中怎么提取出Map对象中的数据. -
谷莉甘利: map.get("名字");就可以了

应城市13661884568: java中怎么获取map中所有的键 -
谷莉甘利: Map map= new HashMap(); //给map中放入值;

应城市13661884568: java中二级map怎么存取 -
谷莉甘利: 1. 先遍历一级Map的keySet;2. 再遍历二级Map的keySet(通过一级Map的keySet值获取二级Map的对象),然后根据二级Map对象以及其key值获取二级Map的value值.给个简单点的例子,好好琢磨下:运行结果:

应城市13661884568: 结果集存放在 List<Map<String,Object>>中怎么使用Java代码遍历获取String,Object的值? -
谷莉甘利: 先遍历List 对于每一个Map值,要获取String的话,就是要获取它的key值集合,LZ可以看一下api,有这个方法的,貌似得到的结果是一个set集合,遍历这个set集合便可以得到每一个String值,从而也可以获取到对应的Object

应城市13661884568: Java 怎么把数组中存的map 值 取出来 模板类中 -
谷莉甘利: List<Map<String,String>> list = new ArrayList<Map<String,String>>(); Map map ; for(int i = 0;i<5;i++){ map = new HashMap<>(); map.put("name","king"+i); list.add(map); } for(Map<String,String> map2:list){ System.out.println("map的值:"+map2.get("name")); }

应城市13661884568: JAVA 如何获取modelandview的返回值,如果把一个对象放在map集合里(假如集合名字是 -
谷莉甘利: 1、使用ModelAndView作为返回值,首先在方法头中进行声明: public ModelAndView getNameById(HttpServletRequest request,HttpServletResponse response) throws Exception{} 2、然后在方法体中实例化ModelAndView. ModelAndView mv...

应城市13661884568: 怎样用Java获取内存中的数据? -
谷莉甘利: 你在内存中首先建立存储数据的结构,如map等,这样你把数据放入map中,再次运行程序就可以进行读取了

应城市13661884568: java中map的常用遍历方法 -
谷莉甘利: 方法一 在for-each循环中使用entries来遍历这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用.Map<Integer, Integer> map = new HashMap<Integer, Integer>();for (Map.Entry<Integer, Integer> entry : map.entrySet(...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网