2012-09-11 214 views
-4

我想在我的頁面中顯示樹視圖。爲此,我將有一個List對象。列表對象將包含更多列表對象。我不知道有多少嵌套層次我會得到。所以請告訴我,如何瀏覽列表。在java中迭代嵌套列表

採樣數據我想顯示爲

  • 教育

    • 數學
      • 三角
    • 科學
      • 個物理
        • 核物理
      • 化學
    • 社會
  • 體育

    • 板球
    • 腳BAL升
  • 技術
    • 手機
    • 電腦
      • 筆記本電腦
      • PC
+0

遞歸方法哪裏樹形視圖從何而來? isit來自例子的xml嗎? – CloudyMarble

+0

我需要獲取該表格數據庫 –

回答

4

你需要像

void printList(Collection myList) { 
    for(Object o : myList) { 
     if (Collection.class.isAssignableFrom(o.getClass())) { 
      printList((Collection)o); 
     } 
     else { 
      print o; 
     } 
    } 
} 
1

您應該使用遞歸函數:

void display(Object item) { 
     print(item); 
     if (item instanceof List) 
      for (Object itemInList: (List) list) { 
       display(itemInList); 
      } 
     } 
    } 

如果有必要,你可以使用一個水平,壓痕例如:

void printItem(Object item, int level) { 
     for (int i=0; i<level; i++) System.out.print(" "); 
     System.out.println(item); 
    } 

    void display(List list, int level) { 
     printItem(list, level); 
     if (item instanceof List) 
      for (Object itemInList: (List) list) { 
       display(itemInList, level+1); 
      } 
     } 
    } 

    display(topLevelList, 0); 
+0

您需要printf列表本身(父節點) – CloudyMarble