怎样在ARRAYLIST中实现递归操做? 拜托 你要实现递归出来是吗 那么你就要再把数据放进List的时候 就递归的方式放进去 知道吗而不是任意放 再想按照递归 拿出来 明白吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 能不用递归时尽量不用,不知这个对你有否参考价值:http://tech.ccidnet.com/pub/article/c1077_a173747_p1.html public boolean has_child(String ls_upindcode,List list) throws Exception { Map colMap; int is_state=0; for (int i=0; i< list.size(); i++){ colMap = (Map)list.get(i); String ls_upcode; ls_upcode = colMap.get("up_ind_code").toString(); if (ls_upcode.equals(ls_upindcode)){ is_state++; break; } } if (is_state>0){ return true; } else{ return false;}}public List gettreeresouce(List list,String ls_upindcode) { Map colMap; String ls_parent; List re_list = new ArrayList(); for (int i=0; i< list.size(); i++){ colMap = (Map)list.get(i); ls_parent = colMap.get("up_ind_code").toString(); if (ls_parent.equals(ls_upindcode)) { re_list.add(colMap); } } return re_list; }public void buildTree(List list,javax.servlet.jsp.JspWriter out,String ls_upindcode,int level) throws Exception { Map colMap; String ls_oldname; String ls_indexbodyid; String ls_upcode; String ls_oldcode; List re_list = new ArrayList(); level++; re_list=gettreeresouce(list,ls_upindcode); for (int i=0; i< re_list.size(); i++){ out.println("<div>"); colMap = (Map)re_list.get(i); ls_upcode=colMap.get("up_ind_code").toString(); ls_oldname=colMap.get("old_name").toString(); ls_indexbodyid=colMap.get("index_body_id").toString(); ls_oldcode = colMap.get("old_code").toString(); if(has_child(ls_oldcode,list)) { out.print("<img alt=\"展开\" style=\"cursor:hand;\" onclick=\"myClick('"+ls_oldcode+"');\" id=\"img"+ls_oldcode+"\" src=\"plus.gif\"> <img id=\"im"+ls_oldcode+"\" src=\"closedfold.gif\"> "); out.print("<span onclick=\"myClick1('"+ls_oldcode+"');\" style=\"cursor:default;\" id=\"span"+ls_oldcode+"\">"+ls_oldname+" id="+ls_oldcode+"</span>"); out.println("<div style=\"display:none;\" id=\"div"+ls_oldcode+"\">"); buildTree(list,out,ls_oldcode,level);//递归调用 out.println("</div>"); } else out.print("<img src=\"minus.gif\"> <img src=\"openfold.gif\"> <span onclick=\"myClick1('"+ls_oldcode+"');\" style=\"cursor:default;\" id=\"span"+ls_oldcode+"\">"+ls_oldname+" id="+ls_oldname+"</span>"); out.println("</div>"); } } 没人解决呀,放在ARRAYLIST的结果集效率肯定比直接用SQL快很很多!谢谢楼上各位建议。 checkbox问题 hibernate 问题 EL函数报错! 运行servlet程序后出现http404错误,怎么解决? 一个关于Canvas ca = new canvas(curimg)的问题,欢迎大家指正 ----Web应用中怎么判断会员是否已经离开??--- 空指针 servlet返回文本(类型text/plain)时中文乱码了? javabean?? 遍历List,怎样用多线程提高效率 单例模式下面的问题??据说是很一般的问题。。 一个登陆的代码,看看,帮忙分析一下
http://tech.ccidnet.com/pub/article/c1077_a173747_p1.html
Map colMap;
int is_state=0; for (int i=0; i< list.size(); i++){
colMap = (Map)list.get(i);
String ls_upcode;
ls_upcode = colMap.get("up_ind_code").toString();
if (ls_upcode.equals(ls_upindcode)){
is_state++;
break;
} }
if (is_state>0){
return true;
} else{
return false;}
}
public List gettreeresouce(List list,String ls_upindcode)
{
Map colMap;
String ls_parent;
List re_list = new ArrayList();
for (int i=0; i< list.size(); i++){
colMap = (Map)list.get(i);
ls_parent = colMap.get("up_ind_code").toString();
if (ls_parent.equals(ls_upindcode))
{
re_list.add(colMap);
}
}
return re_list;
}
public void buildTree(List list,javax.servlet.jsp.JspWriter out,String ls_upindcode,int level) throws Exception { Map colMap;
String ls_oldname;
String ls_indexbodyid;
String ls_upcode;
String ls_oldcode;
List re_list = new ArrayList();
level++;
re_list=gettreeresouce(list,ls_upindcode);
for (int i=0; i< re_list.size(); i++){
out.println("<div>");
colMap = (Map)re_list.get(i);
ls_upcode=colMap.get("up_ind_code").toString();
ls_oldname=colMap.get("old_name").toString();
ls_indexbodyid=colMap.get("index_body_id").toString();
ls_oldcode = colMap.get("old_code").toString();
if(has_child(ls_oldcode,list)) {
out.print("<img alt=\"展开\" style=\"cursor:hand;\" onclick=\"myClick('"+ls_oldcode+"');\" id=\"img"+ls_oldcode+"\" src=\"plus.gif\"> <img id=\"im"+ls_oldcode+"\" src=\"closedfold.gif\"> ");
out.print("<span onclick=\"myClick1('"+ls_oldcode+"');\" style=\"cursor:default;\" id=\"span"+ls_oldcode+"\">"+ls_oldname+" id="+ls_oldcode+"</span>");
out.println("<div style=\"display:none;\" id=\"div"+ls_oldcode+"\">");
buildTree(list,out,ls_oldcode,level);//递归调用
out.println("</div>");
} else
out.print("<img src=\"minus.gif\"> <img src=\"openfold.gif\"> <span onclick=\"myClick1('"+ls_oldcode+"');\" style=\"cursor:default;\" id=\"span"+ls_oldcode+"\">"+ls_oldname+" id="+ls_oldname+"</span>");
out.println("</div>");
}
}
谢谢楼上各位建议。