当前位置: 首页 > news >正文

树结构转List

 使用LinkedList效率更高

 1、单个顶级节点

public static List<CmsStudentOutline> getTreeList(CmsStudentOutline root) {List<CmsStudentOutline> list = new ArrayList<>();Queue<CmsStudentOutline> queue = new LinkedList<>();if (root == null) {return null;}root.setPid("0");//使用UUID也可以 root.setId(UUID.randomUUID().toString());root.setId(IdUtils.simpleUUID());queue.offer(root);//添加一个元素并返回true如果队列已满,则返回falsewhile (!queue.isEmpty()) {CmsStudentOutline tree = queue.poll();//移除并返问队列头部的元素,如果队列为空,则返回nullString pid = tree.getId();List<CmsStudentOutline> children = tree.getChildren();if (children != null) {for (CmsStudentOutline child : children) {child.setPid(pid);//使用UUID也可以 child.setId(UUID.randomUUID().toString());child.setId(IdUtils.simpleUUID());queue.offer(child);//添加一个元素并返回true,如果队列已满,则返回false}}CmsStudentOutline cmsStudentOutline = new CmsStudentOutline();cmsStudentOutline.setId(tree.getId());cmsStudentOutline.setPid(tree.getPid());cmsStudentOutline.setName(tree.getName());list.add(cmsStudentOutline);}return list;}

2、如果有多个顶级节点(循环即可)

public List<CmsStudentOutline> getList(List<CmsStudentOutline> cmsStudentOutline){List<CmsStudentOutline> list = new ArrayList<>();for (CmsStudentOutline studentOutline : cmsStudentOutline) {list.addAll(breadthFirstTree2List(studentOutline));}return list;}

相关文章:

树结构转List

使用LinkedList效率更高 1、单个顶级节点 public static List<CmsStudentOutline> getTreeList(CmsStudentOutline root) {List<CmsStudentOutline> list new ArrayList<>();Queue<CmsStudentOutline> queue new LinkedList<>();if (root nu…...

Android复习(Android基础-四大组件)——Broadcast

1. 广播分类 广播的发送方式&#xff1a;标准广播、有序广播、粘性广播广播的类型&#xff1a;系统广播、本地广播 1.1 标准广播 完全异步&#xff0c;无序的广播发出后&#xff0c;所有的广播接收器几乎都会在同一时间收到消息。&#xff08;异步&#xff09;但是消息无法截…...

Ubuntu下mysql8开启远程连接

环境 mysql8ubuntu22.04 更改配置文件 vim /etc/mysql/mysql.conf.d/mysqld.conf找到 bind-address 127.0.0.1 mysqlx-bind-address 127.0.0.1 把这两行注释掉&#xff0c;保存退出即可 修改mysql配置 登录mysql创建一个远程连接账户,名字任意&#xff0c;密码任意,用户名…...

java对象和json类型转换

fastjson参考 参考&#xff1a;http://doc.yaojieyun.com/www.runoob.com/w3cnote/java-json-instro.html 参考&#xff1a; http://doc.yaojieyun.com/www.runoob.com/w3cnote/fastjson-intro.html 序列化&#xff1a;JSON.toJSONString(person)将Java 对象转换为 JSON 字符串…...

elasticsearch-head 插件

1、elastic 插件说明 **Head** 是第三方提供的一款很优秀的插件&#xff0c;集监控、查询、配置一体的web功能系统&#xff0c;可以在系统中进行创建、删除索引 、文档。以及查询、配置索引等功能&#xff0c;深受广大开发者的喜爱 **Kopf** 是另一个第三方提供的一款很优秀…...

Neo4j之FOREACH基础

在 Neo4j 中&#xff0c;FOREACH 语句用于在查询中对一组元素执行某些操作&#xff0c;通常是在创建或更新节点关系时。它常常与 CREATE 或 SET 等操作结合使用。 创建多个关系&#xff1a; MATCH (p:Person), (m:Movie) WHERE p.name Alice AND m.title The Matrix FOREAC…...

【SpringBoot】| 接口架构风格—RESTful

目录 一&#xff1a;接口架构风格—RESTful 1. 认识RESTful 2. RESTful 的注解 一&#xff1a;接口架构风格—RESTful 1. 认识RESTful &#xff08;1&#xff09;接口 ①接口&#xff1a; API&#xff08;Application Programming Interface&#xff0c;应用程序接口&…...

CentOS系统环境搭建(十)——CentOS7定时任务

centos系统环境搭建专栏&#x1f517;点击跳转 使用CentOS系统环境搭建&#xff08;九&#xff09;——centos系统下使用docker部署项目的项目做定时任务。 CentOS7定时任务 查看现有的定时任务 crontab -l编辑定时任务 crontab -e示例 每天凌晨两点运行脚本 清理内存 0 2 *…...

如何在安卓设备上安装并使用 ONLYOFFICE 文档

您可以使用文档安卓版应用&#xff0c;在移动设备上访问存在您 ONLYOFFICE 帐号中的文件。阅读本文&#xff0c;了解如何操作。 什么是 ONLYOFFICE 文档安卓版 适用于 Android 系统的 ONLYOFFICE 文档是一款全面的办公工具&#xff0c;您可以使用它&#xff0c;查看、创建、编…...

【制作npm包1】申请npm账号、认识个人包和组织包

概述 在开发当中经常有一种现象&#xff0c;重复代码写了N多遍&#xff0c;再次写同样的逻辑就再次翻查以前的代码逻辑。效率低下且容易出错&#xff0c;封装一个npm包的价值也不仅仅是给别人用&#xff0c;封装一套属于自己或者本部门的npm包也是相当有必要。 也许经常看到一…...

linux学习(文件描述符)[11]

一切皆文件 用代码创建的文件&#xff0c;默认路径在可执行文件同级目录下&#xff08;本质是进程通过系统接口创建的&#xff09; 文件宏 在Linux下&#xff0c;有一些与文件操作相关的宏可以用于处理文件描述符和文件权限。以下是一些常用的文件宏&#xff1a; STDIN_FIL…...

影响力再度提升,Smartbi多次蝉联Gartner、IDC等权威认可

近期&#xff0c;思迈特软件捷报频传&#xff0c;Smartbi凭借技术创新实力和产品能力&#xff0c;成功入选Gartner中国增强数据分析代表厂商及自助分析代表厂商&#xff0c;同时&#xff0c;连续三年蝉联“IDC中国FinTech 50”榜单。 Part.1 再次被Gartner提名 Smartbi深度融…...

【动态map】牛客挑战赛67 B

登录—专业IT笔试面试备考平台_牛客网 题意&#xff1a; 思路&#xff1a; 考虑动态的map 可以先定义一个状态&#xff0c;然后用map统计前缀这个状态的出现次数 在这里&#xff0c;定义{a,b}为cnt1 - cnt0和cnt2 - cnt0 当cnt0 和 cnt1都和cnt2相同时&#xff0c;统计贡献…...

mysql(2)

1.ACID 关系型数据库都有ACID特性 原子性&#xff08;Atomicity&#xff09; &#xff1a; 事务是最小的执行单位&#xff0c;不允许分割。事务的原子性确保动作要么全部完成&#xff0c;要么完全不起作用&#xff1b;一致性&#xff08;Consistency&#xff09;&#xff1a;…...

介绍 Apache Spark 的基本概念和在大数据分析中的应用

Apache Spark是一种基于内存计算的大数据处理框架&#xff0c;它支持分布式计算&#xff0c;并且能够处理比传统处理框架更大量的数据。以下是Apache Spark的一些基本概念和在大数据分析中的应用&#xff1a; RDD (Resilient Distributed Dataset)&#xff1a;RDD是Spark的核心…...

Vue CLI创建Vue项目详细步骤

&#x1f680; 一、安装Node环境&#xff08;建议使用LTS版本&#xff09; 在开始之前&#xff0c;请确保您已经安装了Node.js环境。您可以从Node.js官方网站下载LTS版本&#xff0c;以确保稳定性和兼容性。 中文官网下载 确认已安装 Node.js。可以在终端中运行 node -v 命令…...

机器学习算法之-逻辑回归(2)

为什么需要逻辑回归 拟合效果太好 特征与标签之间的线性关系极强的数据&#xff0c;比如金融领域中的 信用卡欺诈&#xff0c;评分卡制作&#xff0c;电商中的营销预测等等相关的数据&#xff0c;都是逻辑回归的强项。虽然现在有了梯度提升树GDBT&#xff0c;比逻辑回归效果更…...

【业务功能篇65】maven加速 配置settings.xml文件 镜像

maven加速 添加阿里镜像仓 <?xml version"1.0" encoding"UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additi…...

题目:售货员的难题(状压dp)

售货员的难题 题目描述输入输出格式输入格式&#xff1a;输出格式&#xff1a; 输入输出样例输入样例#1&#xff1a;输出样例#1&#xff1a; 思路AC代码&#xff1a; 题目描述 某乡有n个村庄( 1 < n < 16 )&#xff0c;有一个售货员&#xff0c;他要到各个村庄去售货&am…...

Linux 的 MySQL 5.x - 关于 Windows 10 的 Navicat Premium 导入 Excel (.xlsx)文件,报错问题集锦

问题 [ERR] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:01’ for column ‘xxx_time’ 解决方法&#xff1a; Windows 则是 my.ini Linux 系统则是 /etc/my.cnf 修改my.ini配置文件&#xff0c;建议修改前新备份下&#xff0c; my.ini中查找sql-mode&#xff0…...

【Python异步I/O终极指南】:20年CTO亲授asyncio高并发实战心法,避开97%开发者踩过的12个致命陷阱

第一章&#xff1a;Python异步I/O的本质与演进脉络Python异步I/O并非简单的“多线程替代方案”&#xff0c;其本质是**在单线程内通过事件循环&#xff08;event loop&#xff09;协同调度I/O等待任务&#xff0c;避免CPU空转&#xff0c;实现高并发吞吐**。它依赖操作系统底层…...

nli-distilroberta-base在数据库智能查询中的应用:自然语言转SQL实战

nli-distilroberta-base在数据库智能查询中的应用&#xff1a;自然语言转SQL实战 1. 引言&#xff1a;当自然语言遇上数据库查询 "帮我找出上个月销售额超过10万的产品"——这样的需求如果能让数据库直接理解该多好&#xff1f;传统SQL查询需要专业技术人员编写复杂…...

AI驱动的 Vue3应用开发平台深入探究(十五):扩展与定制之自定义设置器与属性编辑器

自定义设置器与属性编辑器 自定义 Setter 和属性编辑器构成了 VTJ 可扩展属性配置系统的基础&#xff0c;使开发者能够为物料组件属性创建专门的输入控件。该系统提供了基于插件的架构&#xff0c;与设计器环境无缝集成&#xff0c;同时为属性编辑场景提供最大的灵活性。 架构…...

用gm/ID方法搞定两级运放设计:从理论公式到Cadence仿真避坑全记录

两级运放设计的gm/ID实战指南&#xff1a;从公式推导到Cadence仿真优化 在模拟集成电路设计中&#xff0c;两级运算放大器是最基础也最经典的拓扑结构之一。对于刚接触模拟IC设计的工程师或研究生来说&#xff0c;如何将教科书上的理论转化为实际可操作的电路&#xff0c;往往…...

Win10系统代理服务器拒绝连接?3步搞定网络恢复(附图文详解)

Win10代理服务器连接故障排查指南&#xff1a;从原理到实战解决方案 当Windows 10突然弹出"代理服务器拒绝连接"的错误提示时&#xff0c;很多用户会感到手足无措。这种情况通常发生在系统更新后、网络环境变更时&#xff0c;或是某些应用程序擅自修改了系统设置。本…...

YOLOv8在智慧农业中的落地实践:如何提升植物病害检测准确率到90%+

YOLOv8在智慧农业中的落地实践&#xff1a;如何提升植物病害检测准确率到90% 在智慧农业领域&#xff0c;植物病害的早期识别与精准诊断一直是技术攻关的重点。传统人工检测方式不仅效率低下&#xff0c;而且受限于专家经验&#xff0c;难以实现规模化应用。随着计算机视觉技术…...

Ostrakon-VL-8B网络编程实践:构建高可用模型服务的负载均衡架构

Ostrakon-VL-8B网络编程实践&#xff1a;构建高可用模型服务的负载均衡架构 最近在帮几个团队部署Ostrakon-VL-8B这类多模态大模型时&#xff0c;发现一个挺普遍的问题&#xff1a;单个实例跑得好好的&#xff0c;一旦流量上来或者服务时间长了&#xff0c;就容易出状况。要么…...

PasteMD解决办公痛点:快速格式化OCR文字和网页复制内容

PasteMD解决办公痛点&#xff1a;快速格式化OCR文字和网页复制内容 1. 为什么我们需要智能文本格式化工具 在日常办公中&#xff0c;我们经常遇到这样的场景&#xff1a;会议结束后&#xff0c;手写的笔记拍成照片OCR识别后变成一堆杂乱无章的文本&#xff1b;从网页复制的技术…...

Glyph镜像实测分享:低质量图片文字识别,效果出乎意料

Glyph镜像实测分享&#xff1a;低质量图片文字识别&#xff0c;效果出乎意料 1. 引言&#xff1a;低质量图片文字识别的挑战 在日常工作和生活中&#xff0c;我们经常会遇到需要从低质量图片中提取文字的场景。无论是模糊的扫描件、低分辨率的截图&#xff0c;还是光线不佳的…...

前端HTML精讲01:别再乱 div 一把抓,吃透语义化标签才是进阶第一步

前端HTML精讲01&#xff1a;别再乱 div 一把抓&#xff0c;吃透语义化标签才是进阶第一步 文章目录前端HTML精讲01&#xff1a;别再乱 div 一把抓&#xff0c;吃透语义化标签才是进阶第一步一、什么是HTML语义化&#xff1f;二、为什么要做HTML语义化&#xff1f;1\. 提升代码可…...