有个csv文件,内容为级联关系,有个根节点A,文件部署如下,一共2列
A,B(B为A的下级)
A,C(C为A的下级)
B,D(D为B的下级)
E,F(F为E的下级)
B,G(G为B的下级)
...
各行无顺序,根节点为A,我要如何将文件内容生成以A为根节点的树
------解决方案--------------------
------解决方案--------------------
给你个例子看看:
- Java code
private static HashMap<String,ArrayList<String>> tmpMap=new HashMap<String,ArrayList<String>>(); private static void putData(String pid,String id) { ArrayList<String> childList=tmpMap.get(pid); if(childList==null) { childList=new ArrayList<String>(); tmpMap.put(pid, childList); } childList.add(id); } private static void makeTree(String pid,int level) { System.out.println("level:"+level+","+pid); ArrayList<String> childList=tmpMap.get(pid); if(childList!=null) { for(int i=0;i<childList.size();i++) { makeTree(childList.get(i),level+1); } } } public static void main(String[] args) { putData("A","B"); putData("A","C"); putData("B","D"); putData("B","G"); System.out.println(tmpMap.toString()); makeTree("A",1); }