java实现建树

IT教程 2年前 (2020) https://www.55wd.com
2,546

建树

两层循环实现建树

  • 创建节点类

public class TreeNode {

   protected int id;

   protected int parentId;

   protected List<TreeNode> children = new ArrayList<>();

   public void add(TreeNode node) {

   children.add(node);

   }

}

  • 建树实现

/**

* 两层循环实现建树

*

* @param treeNodes 传入的树节点列表

* @return

*/

public static <T extends TreeNode> List<T> bulid(List<T> treeNodes, Object root) {

   List<T> trees = new ArrayList<T>();

   for (T treeNode : treeNodes) {

   if (root.equals(treeNode.getParentId())) {

   trees.add(treeNode);

   }

   for (T it : treeNodes) {

   if (it.getParentId() == treeNode.getId()) {

   if (treeNode.getChildren() == null) {

       treeNode.setChildren(new ArrayList<TreeNode>());

   }

   treeNode.add(it);

   }

   }

   }

   return trees;

}

递归方法建树

  • 创建节点类(同上)

  •  建树实现

/**
 * 使用递归方法建树
 *
 * @param treeNodes
 * @return
 */
public static <T extends TreeNode> List<T> buildByRecursive(List<T> treeNodes, Object root) {
    List<T> trees = new ArrayList<T>();
    for (T treeNode : treeNodes) {
        if (root.equals(treeNode.getParentId())) {
            trees.add(findChildren(treeNode, treeNodes));
        }
    }
    return trees;
}

JAVA基础知识之InputStreamReader流

一、InputStreamReader类 API文档说明:InputStreamReader类是从字节流到字符流的桥接器:它使用指定的字符集读取字节并将它们解码

2019年最新Java面试题及答案整理(上)

1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数

JAVA堆栈图解

1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不

Java网络编程(一) —— 基础知识

文章目录1. 数字标识2. 网络模型3. TCP和UDP比较UDPTCP4. Socket(套接字)5. java获取地址实例参考文章:简单理解SocketJava网络编程,

解决【关于javascript调用ocx控件时提示:对象不支持“s

因最近工作需要,要开发一款视频播放的ocx控件。但我是第一次开发ocx控件,遇到不少问题,走了不少弯路。现将所遇问题做个记录,方便后来

文章回顾

大家看了本文java实现建树的精彩教程资源内容,是不是对java实现建树了解更多,真心希望java实现建树能帮助到你, 小编会一直给你带来更多教程资源文章信息。

版权声明:9a2bfa7835ca3691 发表于 2020-07-12 3:48:27。

本文由第三方用户分享仅代表作者观点,不代表本网站立场,秉承互联网开放分享的精神,目的在于传递更多信息,加强各行业互通交流,但对内容不作任何保证或承诺,请读者自行参考斟酌。网站发布的信息(包含但不限于版式、图片、字体、文章等素材)由第三方用户分享,版权归原作者所有,本站不承担任何相关的版权纠纷等相关责任。如您认为本篇内容侵犯了您的权益,请与我们联系,我们会及时处理。

豌豆资源网专注分享全网综合资源网站大全,致力于超实用的内容资源搜索。

转载请注明:
本文标题:java实现建树
本文地址:https://www.55wd.com/s107632/