如何把下面代码中的list值赋给map返回????现在这段代码运行的时候map.size()为0,而list.size()为1,多谢了。解决马上结贴!Map<String, List<CadreArch>> map = new LinkedHashMap<String, List<CadreArch>>();
Identifierinfo user = identifierinfoDAO.get(userid);
for (Humanmaterial m:user.getHumanmaterials()) {
if (m.getOpertype().intValue() == Constants.OPERTYPE_CENTERLASTAUDIT_PASS) {
List<CadreArch> list = map.get(m.getArchtype());
if (list == null) {
list = new ArrayList<CadreArch>();
}
list.add(new CadreArch(m.getArchname(), m.getArchdate()));
}
}
for(Erecord e: user.getErecords())
{
if(e.getOpertype().intValue()==Constants.OPERTYPE_CENTERFIRSTAUDIT_PASS)
{
List<CadreArch> list=map.get(e.getArchtype());
if (list == null) {
list = new ArrayList<CadreArch>();
}
list.add(new CadreArch(e.getAttachname(), e.getUploaddate()));
}
}
return map;
}
Identifierinfo user = identifierinfoDAO.get(userid);
for (Humanmaterial m:user.getHumanmaterials()) {
if (m.getOpertype().intValue() == Constants.OPERTYPE_CENTERLASTAUDIT_PASS) {
List<CadreArch> list = map.get(m.getArchtype());
if (list == null) {
list = new ArrayList<CadreArch>();
}
list.add(new CadreArch(m.getArchname(), m.getArchdate()));
}
}
for(Erecord e: user.getErecords())
{
if(e.getOpertype().intValue()==Constants.OPERTYPE_CENTERFIRSTAUDIT_PASS)
{
List<CadreArch> list=map.get(e.getArchtype());
if (list == null) {
list = new ArrayList<CadreArch>();
}
list.add(new CadreArch(e.getAttachname(), e.getUploaddate()));
}
}
return map;
}
解决方案 »
- jsp页面传递%问题!
- 我的servlet为什么不能运行
- ResultSet出现NullPointerException的错误!
- 求 JSP2.0 中文电子书!
- 如有能解决此难题着,赠送170分!!!!!!!
- 在JSP页面上如何显示错误和异常????
- jsp连接数据库问题
- 各位大虾,熟悉JSP访问EXCEL文件并读取数据的请帮个忙!!!!!!!!!!!!!急急!!!
- 请问那位大侠有itext的中文字体包iTextAsian.jar,我从网上down不下来。
- 在jsp中怎样实现在线的消息传递???(类似于OICQ,消息并不存于数据库中)???
- 菜鸟再来问个简单问题?jsp怎么取<a href=***.jsp?id1=value>提交的id1的值???
- 如何在IE浏览器中显示已有的pdf文件,就没有哪个大侠来江湖救急吗?
其中key是一个字符串,作为list在map中的键值。
if (m.getOpertype().intValue() == Constants.OPERTYPE_CENTERLASTAUDIT_PASS) {
List<CadreArch> list = map.get(m.getArchtype());
if (list == null) {
list = new ArrayList<CadreArch>();
}
list.add(new CadreArch(m.getArchname(), m.getArchdate()));
}
map.put("m",list);//这里加入应该不对吧?
应该for循环外面加吧?这样会不会key值重复呢?
}
for(Erecord e: user.getErecords())
{
if(e.getOpertype().intValue()==Constants.OPERTYPE_CENTERFIRSTAUDIT_PASS)
{
List<CadreArch> list=map.get(e.getArchtype());
if (list == null) {
list = new ArrayList<CadreArch>();
}
list.add(new CadreArch(e.getAttachname(), e.getUploaddate()));
}
map.put("m",list);//这个地方也这么加,对吗?
}
还请stonefeng(浩) 仁兄指点。。
Map<String, List<CadreArch>>
这样的话,只能把list加入到map中,不能把list的值放入map。
如果真是这样定义的话(目的就如此的话),把
map.put(key, list);
放在return前面就行了。
不能把list里的元素放入map
这个list都是在if()里面定义的,不能拿出来用呀!
另外,后面的部分建议你这样写:
map.put("m",list);
return map;我要下线了,这样的问题找个同事问问应该就行了。
后面想这样写L.add(list.get(这里面不知道写什么值呀?)),对吗?或者有别的赋值办法,小弟愚昧,还请高手指点。。