首页 > 数据库 >一棵广度和深度都未知的树,存储于数据库的表中,节点存储顺序随机...

一棵广度和深度都未知的树,存储于数据库的表中,节点存储顺序随机...

时间:2023-04-27 13:55:23浏览次数:41  
标签:node ... 存储 nodeList list List Node 表中 new

 

public class DeleteNode {
    public static void main(String[] args) {
        Node node = new Node(1, 1, "aa");
        Node node1 = new Node(2, 3, "bb");
        Node node2 = new Node(3, 2, "cc");
        Node node3 = new Node(4, 3, "dd");
        Node node4 = new Node(5, 2, "ee");
        List<Node> list = new ArrayList<>(Arrays.asList(node, node1, node2, node3, node4));
        List<Node> delete = delete(2, list);
        delete.forEach(item -> System.out.println(item.toString()));
    }
    //第一种
    private static List<Node> delete(int targetId, List<Node> nodeList) {
        List<Node> list = new ArrayList<>();
        Stream<Node> nodeStream = nodeList.stream().filter(node -> {
            return (targetId == node.getId() || targetId == node.getParentId());
        });
        nodeList.removeAll(nodeStream.collect(Collectors.toList()));
        list.stream().forEach(node -> {
            delete(node.getId(), nodeList);
        });
        return nodeList;
    }
    //第二种
    private static List<Node> delete1(int targetId, List<Node> nodeList) {
        List<Node> list = new ArrayList<>();
        nodeList.stream().forEach(node -> {
            if (targetId == node.getId() || targetId == node.getParentId()) {
                list.add(node);
            }
        });
        nodeList.removeAll(list);
        list.stream().forEach(node -> {
            delete(node.getId(), nodeList);
        });
        return nodeList;
    }


}

需要改进,有好的建议欢迎提示

标签:node,...,存储,nodeList,list,List,Node,表中,new
From: https://www.cnblogs.com/1024llh/p/17358702.html

相关文章

  • Redis - 存储对象信息是用 Hash 还是 String
    日常工作中存储对象信息时,一般有两种做法,一种是用String存储,另一种是Hash 存储。既然两种数据结构都可以存储结构体信息。到底哪种更加合适呢?String和Hash占用内存的比较 首先用代码先插入10000条数据,然后用可视化工具来看看内存的占用情况。constRedis=require("......
  • 如果有10个词,我想从中取3个词,然后把所有的10选3的可能统计记录下来,该怎么做?...
    今日鸡汤香雾云鬟湿,清辉玉臂寒。大家好,我是进阶者。一、前言偶然的一次机会,在隔壁群看到一个粉丝问了一道Python实现排列组合基础问题,拿到Python白银交流群问了一下,下图是他的需求:很明显是个排列组合的问题,直接计算组合结果:C(10,3)=(10×9×8)/(3×2×1)=720/6=120,答案是120。二、......
  • Linux 存储结构与磁盘划分
    主要常见的目录定义1.      /boot            开机所需文件----内核,开机菜单及所需配置文件2.      /dev             任何设备与接口都以文件形式存放在这目录3.      /etc              配置文件4.      /hom......
  • 柔软的内心在触动着.....
    微信中刚刚看到JSZX公众号,看到他们最近组织的活动,想起原来这个小小的角落以前是由自己负责的,心理五味杂陈,她在自己的一个决策后消失不见了,感受到曾经的嫌弃与负担变成现在渴望而不可及的失落。。。开始翻看自己曾经发布过的文章,活动的场景与写文章的过程还历历在目,熟悉而又遥远......
  • 数据存储与访问——文件存储读写
    本节给大家介绍的是Android数据存储与访问方式中的一个——文件存储与读写,当然除了这种方式外,我们可以存到SharedPreference,数据库,或者Application中。1.Android文件的操作模式学过Java的同学都知道,我们新建文件,然后就可以写入数据了,但是Android却不一样,因为Android是基于Linux的,我......
  • Sql 给表中插入有规律的字符串
    需求:表中生成有规律的字符A001 001 ............A001 002 ..............A001 060 .................A002 001.............A002 002.............A002 060 ........................A020 001.............A020 002.........A020 060 ..........
  • navicat如何对表中的日期进行清洗
    ALTERTABLEtable10ADDdateVARCHAR(225);UPDATEtable10SETdate=DATE_FORMAT(DATATIME,'%d/%m/%Y%H:%i:%s');  先添加一列日期,然后利用DATE_FORMAT函数,将原本日期进行格式的修改,然后删除原本日期,将新加的列改为原本列的名称。......
  • navicat删除表中重复数据的sql语句
    DELETEFROM`hao123`WHEREir_urlIN(SELECTir_urlFROM(SELECTir_urlFROM`hao123`GROUPBYir_urlhavingcount(ir_url)>1)a)ANDir_idNOTIN(SELECT*FROM(SELECTmin(ir_id)FROM`hao123`GROUPBYir_urlHAVINGcount(ir_url)>1)b);hao123:表名。ir_......
  • db2 创建数据库、表、存储过程等
    启动[root@localhost~]#su-db2inst1[db2inst1@localhost~]$db2startSQL8007WThereare"13"day(s)leftintheevaluationperiodfortheproduct"DB2ConnectServer".Forevaluationlicensetermsandconditions,refertotheLicen......
  • 对数据库中存储的程序进行现代化改造,以使用 Amazon Aurora PostgreSQL 联合查询、pg_c
    作为数据库迁移和现代化的一部分,您可以继续使用存储的程序和调度作业,将远程实例中的数据整合到集中式数据存储中。 AmazonSchemaConversionTool(AmazonSCT)可帮助您将传统的Oracle和SQLServer函数转换为其等效的开源函数。但是,如何继续使用存储的程序从远程数据库中提取数......