將打印方法添加到您的班級。例如方法
public void print(int level)
{
// print own name
String branch = "|";
for (int i = 0; i < level; i++)
{
branch += "-";
}
System.out.println(branch + name);
// print names from list
if (myObjectsList != null)
{
for (MyObject m : myObjectsList)
{
m.print(level+1);
}
}
}
測試
public static void main(String[] args)
{
MyObject myObj = new MyObject();
myObj.name = "Name00";
myObj.myObjectsList = new ArrayList<MyObject>();
MyObject tmp1;
MyObject tmp2;
tmp1 = new MyObject();
tmp1.name = "Name10";
myObj.myObjectsList.add(tmp1);
tmp1.myObjectsList = new ArrayList<MyObject>();
tmp2 = new MyObject();
tmp2.name = "Name20";
tmp1.myObjectsList.add(tmp2);
tmp2 = new MyObject();
tmp2.name = "Name21";
tmp1.myObjectsList.add(tmp2);
tmp1 = new MyObject();
tmp1.name = "Name11";
myObj.myObjectsList.add(tmp1);
tmp1 = new MyObject();
tmp1.name = "Name12";
myObj.myObjectsList.add(tmp1);
myObj.print(0);
}
結果
|Name00
|-Name10
|--Name20
|--Name21
|-Name11
|-Name12
現在你可以修改它要
的方式那麼,有什麼理由myObjectsList是一個列表?那裏有順序嗎?你做過谷歌搜索到目前爲止如何做到這一點?基本上你到目前爲止嘗試解決這個問題? –
myObjectsList是列表,因爲必須存儲多個對象。沒有連續的順序。我在谷歌搜索,但沒有發現任何有用的,我不知道從哪裏開始 – user3546762