`

java tree

 
阅读更多
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;


public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		List list = new ArrayList();
		Module module = new Module("模块1",1);
		Module module2 = new Module("模块11",3);
		Module module3 = new Module("模块111",111);
		Module module4 = new Module("模块12",4);
		Module module5 = new Module("模块13",1);
		Module module6 = new Module("模块131",4);
		Module module7 = new Module("模块132",1);
		Module module8 = new Module("模块1311",1311);
		
		Module module9 = new Module("模块0",0);
		module2.getSubList().add(module3);
		module.getSubList().add(module2);
		module.getSubList().add(module4);
		
		module5.getSubList().add(module7);
		module6.getSubList().add(module8);
		module5.getSubList().add(module6);
		module.getSubList().add(module5);
		
		list.add(module);
		list.add(module9);
		
		
		
		
		printList(list);
		System.out.println("----------------------------------------");
		Comparator c = new Comparator(){

			@Override
			public int compare(Object o1, Object o2) {
				Module m1 = (Module)o1;
				Module m2 = (Module)o2;
				return m1.getSorder()<=m2.getSorder() ? -1 : 1;
			}
			
			
		};
		sortList(list, c);
		
		printList(list);
	}
	
	public static void sortList(List<Module> list,Comparator c){
		Collections.sort(list, c);
		for (Module m : list) {
			if(m.getSubList().size()>0){
				sortList(m.getSubList(), c);
				
			}
			
		}
	}
	
	public static void printList(List<Module> list){
		for (Module m : list) {
			System.out.println("List -->" + m.getName()+" ->" + m.getSorder());
			if(m.getSubList().size()>0){
				printList(m.getSubList());
			}
		}
	}
}

class Module{
	public Module(String name, int sorder) {
		super();
		this.name = name;
		this.sorder = sorder;
	}
	private String name;
	private int sorder;
	private List<Module> subList = new ArrayList();
	
	public List getSubList() {
		return subList;
	}
	public void setSubList(List subList) {
		this.subList = subList;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getSorder() {
		return sorder;
	}
	public void setSorder(int sorder) {
		this.sorder = sorder;
	}
}

 

分享到:
评论

相关推荐

    Java Tree的几种开源组件

    在Java编程语言中,"Tree"通常指的是树形数据结构的实现,这在软件开发中具有广泛的应用。本文将深入探讨几种开源的Java Tree组件,它们可以帮助开发者高效地处理和展示树状数据。 1. **JTree(Java Swing组件)** ...

    java Tree

    在Java编程语言中,"Tree"通常指的是数据结构中的树形结构,以及相关的类库,如`java.util.TreeSet`和`java.util.TreeMap`。这些数据结构在处理有序数据时非常有用,因为它们提供了自动排序和高效查找、插入和删除...

    JAVA TREE

    【JAVA TREE】是一种在Java编程中常见的数据结构,它指的是以树形结构组织的数据,其中每个节点可以有零个或多个子节点。在Java中,树结构被广泛应用于各种场景,如文件系统、数据解析、算法实现等。本文将深入探讨...

    Javatree java树结构

    Java树结构是计算机科学中的一种数据结构,它模拟了自然界中的树形态,通过节点和边来组织数据。在Java编程中,树结构被广泛应用于数据的组织和操作,如文件系统、编译器语法分析、搜索算法等。下面将详细阐述Java树...

    java tree的实现

    ### Java 实现 Tree 数据结构详解 #### 一、概述 在计算机科学中,树是一种常用的数据结构,用于模拟具有层次关系的数据集。本篇文章将基于Java语言,介绍一种树形数据结构的实现方法,包括其类的设计、节点的添加...

    java_tree_demo.rar_DEMO_java tr_java tree Demo_java tree de

    Java Tree Demo是一个面向Java开发者的示例项目,它展示了如何在Java中实现树形数据结构以及相关的操作。这个项目可能包含一系列的版本,从最初的基础实现到最终的完善版本,以便展示开发过程中的演变。根据描述,源...

    java Tree (jsp+javabea).rar_java tree_java tree jsp_jsp JavaBea

    Java Tree 是一种在Web应用程序中展示层次数据的常见方式,特别是在B/S(浏览器/服务器)架构下。在Java中,这种树形结构通常用于显示目录、文件系统、组织结构等,用户可以通过它来浏览和操作数据。在这个"java ...

    java tree在web上的实现

    Java Tree在Web上的实现主要涉及的是前端展示与后端数据交互的技术,以及如何利用XML作为数据容器。在本文中,我们将深入探讨如何使用Java技术栈,特别是JSP(JavaServer Pages)和JavaScript库如jTree,来构建一个...

    SR-tree-java.zip_java tree_sr tree_tree

    标题中的"SR-tree-java.zip_java tree_sr tree_tree"暗示了这是一个关于Java实现的SR树(Suffix-Radix Tree)的项目。SR树是一种高效的多维数据结构,常用于数据库索引和空间数据处理,它结合了后缀树(Suffix Tree...

    javaTree的一个例子

    ### JavaTree 示例解析 在Java开发中,`javaTree`是一个强大的工具,用于构建和操作树形数据结构,尤其在GUI应用中,如文件浏览器、目录结构展示等场景下非常常见。下面,我们将深入分析一个具体的`javaTree`示例...

    Java Tree 导航栏

    ### Java Tree 导航栏知识点解析 #### 一、概览 在本代码片段中,开发者构建了一个基于Java Swing框架的树形导航栏组件。该组件不仅为用户提供了一个直观的目录结构视图,还允许用户通过点击节点来展开或收起子节点...

    WebDynpro Java tree example

    在"WebDynpro Java tree example"中,我们探讨的是如何利用Web Dynpro Java来实现一个树形结构(Tree)的组件,这在企业应用中非常常见,例如用于展现组织结构、产品目录或者文件系统等。 在Web Dynpro中,Tree组件...

    很好用的java tree控件,适合JSP开发使用

    很好用的java tree控件,适合JSP开发使用

    简单java tree

    简单java tree 比较简单的demo,无限极菜单

    java Tree 菜单

    Java Tree 菜单是一种在Java应用程序中实现的交互式用户界面组件,它通常用于展示层次结构的数据,如文件系统目录、组织结构或数据库表之间的关系。这种菜单以树状的形式呈现,允许用户通过展开和折叠节点来探索和...

    java中tree的实现

    在Java编程语言中,"Tree"通常指的是数据结构中的树形结构,这是一个非线性的数据组织方式,模拟了自然界中的树状层次关系。在Java中,我们可以使用多种方式来实现树,包括但不限于自定义类、Java集合框架中的`...

    java简单开发部门树(Tree)

    在Java开发中,构建部门树(Tree)是一个常见的需求,特别是在企业级应用中,用于展示组织结构或权限管理。这个项目提供了从JSP前端到Java后端的完整解决方案,非常适合初学者理解和学习,也能帮助有经验的开发者...

    java中的tree

    在Java编程语言中,"Tree"是一个重要的数据结构,它以树形结构组织数据,具有节点(Node)的概念,每个节点可以有零个或多个子节点。这种数据结构非常适合表示层次关系,例如文件系统、组织架构或者计算机科学中的...

    java 树 tree

    在Java编程语言中,"树"(Tree)是一种非线性的数据结构,它模拟了自然界中的树状层次关系。在计算机科学中,树被广泛应用于各种算法和数据存储,如文件系统、数据库索引、图形表示等。Java提供了多种方式来实现和...

    java动态树形(tree)

    Java 动态树形结构(Tree)是一种在用户界面中常用的数据展示方式,它能够以层级结构呈现数据,便于用户浏览和操作。在本实例中,我们主要关注如何使用Java和JSP技术来构建这样的动态树形视图,并结合SqlServer...

Global site tag (gtag.js) - Google Analytics