public static void main(String[] args) {
MenuInfo menuInfo = new MenuInfo(); menuInfo.setMid(1); menuInfo.setName("root"); menuInfo.setUrl("rootUrl"); menuInfo.setHmid(0); MenuInfo menuInfo1 = new MenuInfo(); menuInfo1.setMid(2); menuInfo1.setName("root_1"); menuInfo1.setUrl("rootUrl_1"); menuInfo1.setHmid(1); MenuInfo menuInfo2 = new MenuInfo(); menuInfo2.setMid(3); menuInfo2.setName("root_1"); menuInfo2.setUrl("rootUrl_2"); menuInfo2.setHmid(1); MenuInfo menuInfo3 = new MenuInfo(); menuInfo3.setMid(4); menuInfo3.setName("root_2"); menuInfo3.setUrl("rootUr2_1"); menuInfo3.setHmid(2); List list = new ArrayList(); list.add(menuInfo3); list.add(menuInfo2); list.add(menuInfo1); list.add(menuInfo); List<MenuInfo> list2 = new ArrayList<MenuInfo>(); list2.add(menuInfo); String string = new Test().test(list2,list); System.out.println(string); } private String test(List<MenuInfo> object,List<MenuInfo> list ){ StringBuffer buffer = new StringBuffer(); for(int i=0;i<object.size();i++){ MenuInfo menuInfo = object.get(i); buffer.append("text:"+menuInfo.getName()+" "); buffer.append("url:"+menuInfo.getUrl()+" "); buffer.append("item:"); List list2 = this.get(list,menuInfo.getMid()); if(list2.size()>0){ System.out.println(menuInfo.getName()); buffer.append("("); buffer.append(this.test(list2,list)); buffer.append(")"); } } String resultString = buffer.toString(); resultString=resultString.charAt(resultString.length() - 1) == ','?resultString.substring(0,resultString.length()-1):resultString; return resultString; } private List<MenuInfo> get(List<MenuInfo> list, long id){ List<MenuInfo> list1 = new ArrayList<MenuInfo>(); for(int i=0;i<list.size();i++){ if(list.get(i).getHmid() ==id){ list1.add(list.get(i)); } } return list1; } |
|