现在的位置: 首页 > 综合 > 正文

java 把一个list中的数据按照树结构排序

2018年01月24日 ⁄ 综合 ⁄ 共 889字 ⁄ 字号 评论关闭

import java.util.ArrayList;
import java.util.List;

public class HList {
	static List<Node> list = new ArrayList<Node>();
	static List<Node> resultList = new ArrayList<Node>();
	
	
	public static class Node {
		
		public Node(int id, int pid) {
			this.id = id;
			this.pid = pid;
		}
		private int id;
		private int pid;
		public int getId() {
			return id;
		}
		public void setId(int id) {
			this.id = id;
		}
		public int getPid() {
			return pid;
		}
		public void setPid(int pid) {
			this.pid = pid;
		}
		@Override
		public String toString() {
			return "[id=" + id + ", pid=" + pid + "]";
		}
	}
	
	static {
		list.add(new Node(1,0));
		list.add(new Node(2,1));
		list.add(new Node(3,2));
		list.add(new Node(4,2));
		list.add(new Node(5,1));
		list.add(new Node(6,5));
		list.add(new Node(7,1));
	}
	
	public static void sortList(List<Node> list,int id) {
		for (Node node :list) {
			if (node.getPid() == id) {
				resultList.add(node);
				sortList(list,node.getId());
			}
		}
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		sortList(list,0);
		System.out.println(resultList);
	}
}

抱歉!评论已关闭.