Java 实现遍历节点方法

此方法有用于动态表头制作,多级菜单的制作。

首先在数据库建表,表中用id,parent_id 关键字段

 

 

Class Demo(){

	private int countColspan ;		//	 节点的叶子节点个数	
	//setter.getter 方法省略
	List gridtemplate = new ArrayList() ;

	//从数据库获取list集合,{map,map,map...}
	
	private int countCol(String idStr){//设置该id下所有叶子节点个数,并返回直接子节点个数                
		
		int count = gridtemplate.size() ; // 
		String parentColID = "" ;
		String childID = "" ;
		
		for (Object mapObj : gridtemplate) {
			Map map = (Map) mapObj ;
			childID = ObjectUtils.toString(map.get("ID"));
			parentColID = ObjectUtils.toString(map.get("PARENT_ID"));
			
			if(parentColID.equalsIgnoreCase(idStr)){
				count-- ;
				countCol(childID);			
			}else{
				
				continue ;
			}
		}
		if(count == gridtemplate.size()){
			this.countColspan++ ;
		}
		
		return (gridtemplate.size()-count) ;
	}

}
 

你可能感兴趣的:(Java)