`
lenj
  • 浏览: 36865 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

用Java实现文本形式的树状结构显示

阅读更多
代码如下,可根据需求衍生出各种格式的输出和使用。

package test;import java.util.ArrayList;import java.util.List;public class Folder ...{public Folder(String title) ...{this.title = title;}private String title;private List children = new ArrayList();public void addChild(Folder f) ...{children.add(f);}public List getChildren() ...{return children;}public void setChildren(List children) ...{this.children = children;}public String getTitle() ...{return title;}public void setTitle(String title) ...{this.title = title;}public String toString(String lftStr, String append) ...{StringBuilder b = new StringBuilder();b.append(append + title);b.append("\n");if (children.size() > 0) ...{for (int i = 0; i < children.size() - 1; i++) ...{b.append(lftStr+children.get(i).toString(lftStr + "│", "├"));}b.append(lftStr + children.get(children.size() - 1).toString(lftStr + " ", "└"));}return b.toString();}public static void main(String[] args) ...{Folder root = new Folder("菜单列表");Folder f1 = new Folder("开始菜单");root.addChild(f1);Folder f1_1 = new Folder("程序");f1.addChild(f1_1);Folder f1_1_1 = new Folder("附件");f1_1.addChild(f1_1_1);Folder f1_1_1_1 = new Folder("娱乐");f1_1_1.addChild(f1_1_1_1);Folder f1_1_1_2 = new Folder("娱乐2");f1_1_1.addChild(f1_1_1_2);Folder f1_2 = new Folder("辅助工具");f1.addChild(f1_2);Folder f2 = new Folder("My Documents ");root.addChild(f2);Folder f3 = new Folder("My Documents2 ");root.addChild(f3);System.out.println(root.toString(" ", ""));}}


运行结果如下:

菜单列表
├开始菜单
│├程序
││└附件
││ ├娱乐
││ └娱乐2
│└辅助工具
├My Documents
└My Documents2

应网友要求,增加了JDK 1.4版及以下的程序版本,取消了泛型。

import java.util.ArrayList;
import java.util.List;
public class Folder{
public Folder(String title)
{
this.title = title;
}
private String title;
private List children = new ArrayList();
public void addChild(Folder f)
{
children.add(f);
}
public List getChildren()
{
return children;
}
public void setChildren(List children)
{
this.children = children;
}
public String getTitle()
{
return title;
}
public void setTitle(String title)
{
this.title = title;
}
public String toString(String lftStr, String append)
{
StringBuilder b = new StringBuilder();
b.append(append + title);b.append(" ");
if (children.size() > 0)
{
for (int i = 0; i < children.size() - 1; i++)
{
b.append(lftStr + ((Folder) children.get(i)).toString(lftStr + "│", "├"));
}
b.append(lftStr + ((Folder) children.get(children.size() - 1)).toString(lftStr + " ", "└"));
}
return b.toString();
}
public static void main(String[] args)
{
Folder root = new Folder("菜单列表");
Folder f1 = new Folder("开始菜单");
root.addChild(f1);Folder f1_1 = new Folder("程序");
f1.addChild(f1_1);Folder f1_1_1 = new Folder("附件");
f1_1.addChild(f1_1_1);Folder f1_1_1_1 = new Folder("娱乐");
f1_1_1.addChild(f1_1_1_1);Folder f1_1_1_2 = new Folder("娱乐2");
f1_1_1.addChild(f1_1_1_2);Folder f1_2 = new Folder("辅助工具");
f1.addChild(f1_2);Folder f2 = new Folder("My Documents ");
root.addChild(f2);Folder f3 = new Folder("My Documents2 ");
root.addChild(f3);System.out.println(root.toString(" ", ""));
}
}

分享到:
评论

相关推荐

    Java实现文本形式的树状结构显示

    Java实现文本形式的树状结构显示 Java实现文本形式的树状结构显示

    树状数组3.java 使用java实现

    树状数组3.java 使用java实现树状数组3.java 使用java实现树状数组3.java 使用java实现树状数组3.java 使用java实现树状数组3.java 使用java实现树状数组3.java 使用java实现树状数组3.java 使用java实现树状数组3....

    Java树状结构实现BBS

    实现一个BBS可以采取多种方法,该项目采用树状结构来实现,用户可以很容易看出谁回复了谁,自己要回复谁也很方便.对于管理员来说,登陆管理员页面可以进行数据的增、删、查、改,项目中使用了多种分页的写法.

    文本分类java 实现

    java 代码实现的网络新闻文本自动分类,采用朴素贝叶斯和支持向量机两种方法实现!

    Kmeans文本聚类java实现

    java实现的文本聚类使用了kmeans算法

    基于java实现的文本编辑器.zip

    基于java实现的文本编辑器基于java实现的文本编辑器基于java实现的文本编辑器基于java实现的文本编辑器基于java实现的文本编辑器基于java实现的文本编辑器基于java实现的文本编辑器基于java实现的文本编辑器基于java...

    Java 树状结构

    Java树状结构 Java树状结构

    java实现 文本相似度

    使用java实现输出文本相似度的一些代码。能够运行,有结果有数据。

    java实现的 树状数组

    用java实现的树状数组,可以作为一个简单的模版来进行应用,如果有不懂得地方,可以上网查找树状数组的原理

    ztree实现AJAX树状结构-JAVA实现

    使用ztree+java实现AJAX树状结构,代码清晰明了,可直接运行。

    Java实现树形层级结构的表格

    Java实现的,将树形层级结构的数据转换成表格,通过打点的方式向表格中插入数据,支持行头表格、列头表格、交叉表格三种形式

    Java实现显示进度条

    Java实现进度条 Java实现进度条 Java实现进度条 Java实现进度条 Java实现进度条

    java实现文本编辑器

    使用java编写的简易文本编辑器。支持打开,保存,新建,另存为,关闭等功能。 支持编辑、剪切、粘贴。 支持查找和替换。

    java树状结构生成代码dtree

    dtree在生成简单树方面比使用Jquery的treeView要方便,代码实现的是用户选择的树状结构图。

    java实现文本输出Excel

    一个不错的例子,实现了普通文本转为Excel的技术,值得参考

    文件/文件夹操作(读取,删除,添加)

    6、 编写一个Java应用程序,文件名为Folder.java,编译后执行结果如下图所示,实现指定文件夹下目录和文件的文本形式的树状结构显示。要求: 1. 输入: java Folder,显示当前文件夹下的目录和文件的文本形式树状...

    Java实现文本编辑框上传.txt

    Java实现文本编辑框上传.txt

    Java文本文件加密与解密

    本次使用JAVA语言,采用3DES加密算法进行对文本文件的加密,通过二进制和十六进制的转换来实现,产生加密文件,再对加密文件进行解密。 关键词:DES加密算法、加密、解密。摘要 随着现代网络技术的飞速发展,人们...

    Java语言实现文本转语音

    java调用dll文件实现离线文字转语音,具体代码实现请搜索别的博客

Global site tag (gtag.js) - Google Analytics