java中,下面的List怎么放入map里面,求高手!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中,下面的List怎么放入map里面,求高手!相关的知识,希望对你有一定的参考价值。

你首先要了解什么是Map,可以理解为Map是一堆key和value的映射集合(或者说一堆键值对的集合)。
List list = new ArrayList();
Map map = new HashMap();
list.add("a");
list.add("c");
list.add("b");
for(int i =0;i<list.size();i++)
map.put(i, list.get(i));

然后你要用Map里的东西,可以使用map.get(1)这种形式获取,他和list.get(1);
相等都为“c”。
另外建议初始化Map和List的时候,定义好所存的数据类型。
List<String>
list
=
new
ArrayList<String>();
Map<Integer,
String>
map
=
new
HashMap<Integer,
String>();
参考技术A List和Map是两个不同类型的集合,list是队列,map是键值映射关系。
比如以学生对为对象,放入list中的就是一个个学生对象,要查看这些对象只能顺序找;对于map应为是的对象和映射关系,比如将学号和学生对应起来,要找某个学生时,只需要给出学号就能直接找到该学生对象,类似图书馆中的书目。
参考技术B Map是键-值的形式,光看你上面代码,完全不需要放进去啊,另你写的也不对
List
list
=
new
ArrayList();
list.add("a");
list.add("c");
list.add("b");
Map<String,
String>
map
=
new
HashMap<String,
String>(list.size());
for(int
i
=0;i<list.size();i++)
map.put(list.get(i).toString(),
list.get(i).toString());

这样就放进map了,不过没啥意义。
参考技术C Map<String,List>
map
=
new
HashMap<String,List>();
//list放入map中
Map.put("list",list);
//取出的时候要注意类型转换
List
list
=
(List)map.getKey("list");
参考技术D 你的代码里list插入的是String,为什么get时要得到map?

java双循环list数据保存问题

代码如下,tindex里面和gs里面都是一个数组,现在的问题就是,第二次循环的时候,gslist里面的数据也会被刷新,不知道如何与list里面的数据绑定到一起。

TIndex[] tindex = teacherIS.getClassIndexsOfCurAcademicYearByTeacherId((int)session.getUserID());
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
for (int i = 0; i < tindex.length; i++)

Map<String, Object> map = new HashMap<String, Object>();//得到班级数据
map.put("className", tindex[i].getName());
map.put("classId", tindex[i].getID());
TClassExam[] gs = em.getClassExamsByClassId((int) tindex[i].getID());
System.out.println(gs.length);
List<Map<String, Object>> gslist = new ArrayList<Map<String, Object>>();
for (int j = 0; j < gs.length; j++)

Map<String, Object> mapgs = new HashMap<String, Object>();
mapgs.put("gsid",gs[j].getId());
mapgs.put("gsname", gs[j].getName());

setAttr("gslist", gslist);
list.add(map);

setAttr("myClassList", list);
意思就是说,有很多班级,然后要根据班级的id去得到考试的数据,tindex[i].getID()这个是班级的id gs 得到的是考试的数组,然后再得到考试数组里面的数据,

参考技术A 很简单啊。。可以将gslist设定为初始值为null的全局变量。然后再在用到它时给他赋值。本回答被提问者采纳 参考技术B 没详细看,但是你在循环里面不断的new东西当然就把前面插入的数据都清空了再重新new了!!追问

意思就是说,有很多班级,然后要根据班级的id去得到考试的数据,tindex[i].getID()这个是班级的id gs 得到的是考试的数组,然后再得到考试数组里面的数据,

参考技术C 你的问题表述不清楚,没明白你要做什么追问

意思就是说,有很多班级,然后要根据班级的id去得到考试的数据,tindex[i].getID()这个是班级的id gs 得到的是考试的数组,然后再得到考试数组里面的数据,

追答

你的mapgs不是已经得到结果了吗。。最终目的是啥额。。

参考技术D 把gslist的定义放到第一层循环的外面追问

如果定义到外面不是又会有多于的数据吗

以上是关于java中,下面的List怎么放入map里面,求高手!的主要内容,如果未能解决你的问题,请参考以下文章

怎样获取list集合里面的重复值

如何取出list数据放入map

怎么办map形转换成list

JAVA中map中存储list集合问题。

java中怎么list 转成 map?

怎么将list集合中的数据加载到Map中