1
package test;
2![](/Images/OutliningIndicators/None.gif)
3
import java.util.ArrayList;
4
import java.util.List;
5![](/Images/OutliningIndicators/None.gif)
6
public class Folder
{
7
public Folder(String title)
{
8
this.title = title;
9
}
10![](/Images/OutliningIndicators/InBlock.gif)
11
private String title;
12![](/Images/OutliningIndicators/InBlock.gif)
13
private List<Folder> children = new ArrayList<Folder>();
14![](/Images/OutliningIndicators/InBlock.gif)
15
public void addChild(Folder f)
{
16
children.add(f);
17
}
18![](/Images/OutliningIndicators/InBlock.gif)
19
public List<Folder> getChildren()
{
20
return children;
21
}
22![](/Images/OutliningIndicators/InBlock.gif)
23
public void setChildren(List<Folder> children)
{
24
this.children = children;
25
}
26![](/Images/OutliningIndicators/InBlock.gif)
27
public String getTitle()
{
28
return title;
29
}
30![](/Images/OutliningIndicators/InBlock.gif)
31
public void setTitle(String title)
{
32
this.title = title;
33
}
34![](/Images/OutliningIndicators/InBlock.gif)
35
public String toString(String lftStr, String append)
{
36
StringBuilder b = new StringBuilder();
37
b.append(append + title);
38
b.append("\n");
39
if (children.size() > 0)
{
40
for (int i = 0; i < children.size() - 1; i++)
{
41
b.append(lftStr+children.get(i).toString(lftStr + "│", "├"));
42
}
43
b.append(lftStr + children.get(children.size() - 1).toString(
44
lftStr + " ", "└"));
45![](/Images/OutliningIndicators/InBlock.gif)
46
}
47
return b.toString();
48![](/Images/OutliningIndicators/InBlock.gif)
49
}
50![](/Images/OutliningIndicators/InBlock.gif)
51
public static void main(String[] args)
{
52
Folder root = new Folder("菜单列表");
53
Folder f1 = new Folder("开始菜单");
54
root.addChild(f1);
55
Folder f1_1 = new Folder("程序");
56
f1.addChild(f1_1);
57
Folder f1_1_1 = new Folder("附件");
58
f1_1.addChild(f1_1_1);
59
Folder f1_1_1_1 = new Folder("娱乐");
60
f1_1_1.addChild(f1_1_1_1);
61
Folder f1_1_1_2 = new Folder("娱乐2");
62
f1_1_1.addChild(f1_1_1_2);
63
Folder f1_2 = new Folder("辅助工具");
64
f1.addChild(f1_2);
65
Folder f2 = new Folder("My Documents ");
66
root.addChild(f2);
67
Folder f3 = new Folder("My Documents2 ");
68
root.addChild(f3);
69![](/Images/OutliningIndicators/InBlock.gif)
70
System.out.println(root.toString(" ", ""));
71
}
72
}
73
运行结果如下:
菜单列表
├开始菜单
│├程序
││└附件
││ ├娱乐
││ └娱乐2
│└辅助工具
├My Documents
└My Documents2
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
7
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/InBlock.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
40
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
41
![](/Images/OutliningIndicators/InBlock.gif)
42
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
43
![](/Images/OutliningIndicators/InBlock.gif)
44
![](/Images/OutliningIndicators/InBlock.gif)
45
![](/Images/OutliningIndicators/InBlock.gif)
46
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
47
![](/Images/OutliningIndicators/InBlock.gif)
48
![](/Images/OutliningIndicators/InBlock.gif)
49
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
50
![](/Images/OutliningIndicators/InBlock.gif)
51
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
52
![](/Images/OutliningIndicators/InBlock.gif)
53
![](/Images/OutliningIndicators/InBlock.gif)
54
![](/Images/OutliningIndicators/InBlock.gif)
55
![](/Images/OutliningIndicators/InBlock.gif)
56
![](/Images/OutliningIndicators/InBlock.gif)
57
![](/Images/OutliningIndicators/InBlock.gif)
58
![](/Images/OutliningIndicators/InBlock.gif)
59
![](/Images/OutliningIndicators/InBlock.gif)
60
![](/Images/OutliningIndicators/InBlock.gif)
61
![](/Images/OutliningIndicators/InBlock.gif)
62
![](/Images/OutliningIndicators/InBlock.gif)
63
![](/Images/OutliningIndicators/InBlock.gif)
64
![](/Images/OutliningIndicators/InBlock.gif)
65
![](/Images/OutliningIndicators/InBlock.gif)
66
![](/Images/OutliningIndicators/InBlock.gif)
67
![](/Images/OutliningIndicators/InBlock.gif)
68
![](/Images/OutliningIndicators/InBlock.gif)
69
![](/Images/OutliningIndicators/InBlock.gif)
70
![](/Images/OutliningIndicators/InBlock.gif)
71
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
72
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
73
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
1
//应网友要求,增加了JDK 1.4版及以下的程序版本,取消了泛型
2
import java.util.ArrayList;
3
import java.util.List;
4![](/Images/OutliningIndicators/None.gif)
5
public class Folder
{
6
public Folder(String title)
{
7
this.title = title;
8
}
9![](/Images/OutliningIndicators/InBlock.gif)
10
private String title;
11![](/Images/OutliningIndicators/InBlock.gif)
12
private List children = new ArrayList();
13![](/Images/OutliningIndicators/InBlock.gif)
14
public void addChild(Folder f)
{
15
children.add(f);
16
}
17![](/Images/OutliningIndicators/InBlock.gif)
18
public List getChildren()
{
19
return children;
20
}
21![](/Images/OutliningIndicators/InBlock.gif)
22
public void setChildren(List children)
{
23
this.children = children;
24
}
25![](/Images/OutliningIndicators/InBlock.gif)
26
public String getTitle()
{
27
return title;
28
}
29![](/Images/OutliningIndicators/InBlock.gif)
30
public void setTitle(String title)
{
31
this.title = title;
32
}
33![](/Images/OutliningIndicators/InBlock.gif)
34
public String toString(String lftStr, String append)
{
35
StringBuilder b = new StringBuilder();
36
b.append(append + title);
37
b.append(" ");
38
if (children.size() > 0)
{
39
for (int i = 0; i < children.size() - 1; i++)
{
40
b.append(lftStr + ((Folder) children.get(i)).toString(lftStr + "│", "├"));
41
}
42
b.append(lftStr + ((Folder) children.get(children.size() - 1)).toString(lftStr + " ", "└"));
43
}
44
return b.toString();
45
}
46![](/Images/OutliningIndicators/InBlock.gif)
47
public static void main(String[] args)
{
48
Folder root = new Folder("菜单列表");
49
Folder f1 = new Folder("开始菜单");
50
root.addChild(f1);
51
Folder f1_1 = new Folder("程序");
52
f1.addChild(f1_1);
53
Folder f1_1_1 = new Folder("附件");
54
f1_1.addChild(f1_1_1);
55
Folder f1_1_1_1 = new Folder("娱乐");
56
f1_1_1.addChild(f1_1_1_1);
57
Folder f1_1_1_2 = new Folder("娱乐2");
58
f1_1_1.addChild(f1_1_1_2);
59
Folder f1_2 = new Folder("辅助工具");
60
f1.addChild(f1_2);
61
Folder f2 = new Folder("My Documents ");
62
root.addChild(f2);
63
Folder f3 = new Folder("My Documents2 ");
64
root.addChild(f3);
65
System.out.println(root.toString(" ", ""));
66
}
67
}
68![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
6
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
7
![](/Images/OutliningIndicators/InBlock.gif)
8
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/InBlock.gif)
38
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
39
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
40
![](/Images/OutliningIndicators/InBlock.gif)
41
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
42
![](/Images/OutliningIndicators/InBlock.gif)
43
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
44
![](/Images/OutliningIndicators/InBlock.gif)
45
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
46
![](/Images/OutliningIndicators/InBlock.gif)
47
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/dot.gif)
48
![](/Images/OutliningIndicators/InBlock.gif)
49
![](/Images/OutliningIndicators/InBlock.gif)
50
![](/Images/OutliningIndicators/InBlock.gif)
51
![](/Images/OutliningIndicators/InBlock.gif)
52
![](/Images/OutliningIndicators/InBlock.gif)
53
![](/Images/OutliningIndicators/InBlock.gif)
54
![](/Images/OutliningIndicators/InBlock.gif)
55
![](/Images/OutliningIndicators/InBlock.gif)
56
![](/Images/OutliningIndicators/InBlock.gif)
57
![](/Images/OutliningIndicators/InBlock.gif)
58
![](/Images/OutliningIndicators/InBlock.gif)
59
![](/Images/OutliningIndicators/InBlock.gif)
60
![](/Images/OutliningIndicators/InBlock.gif)
61
![](/Images/OutliningIndicators/InBlock.gif)
62
![](/Images/OutliningIndicators/InBlock.gif)
63
![](/Images/OutliningIndicators/InBlock.gif)
64
![](/Images/OutliningIndicators/InBlock.gif)
65
![](/Images/OutliningIndicators/InBlock.gif)
66
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
67
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
68
![](/Images/OutliningIndicators/None.gif)