网站建设开发制作苏州优化亚当

news/2025/9/24 1:56:55/文章来源:
网站建设开发制作,苏州优化亚当,东莞市南城装饰工程东莞网站建设,在淘宝上的毕设网站代做思路 我们首先要知道数据中#xff0c;哪两列能够体现父子级我们需要找到最顶层父 id 是什么#xff0c;因为只有知道最顶层的父 id#xff0c;我们才能进行递归我们要在不改变数据的原有结构下#xff0c;而转换为 Tree 结构#xff0c;那么就需要创建新的结构 代码 /…思路 我们首先要知道数据中哪两列能够体现父子级我们需要找到最顶层父 id 是什么因为只有知道最顶层的父 id我们才能进行递归我们要在不改变数据的原有结构下而转换为 Tree 结构那么就需要创建新的结构 代码 /*** Date: 2023/10/28* Author: PuKun* Description: 树形数据ID*/ Target(ElementType.FIELD) Retention(RetentionPolicy.RUNTIME) public interface TreeId {}/*** Date: 2023/10/28* Author: PuKun* Description: 树形数据的父类id*/ Target(ElementType.FIELD) Retention(RetentionPolicy.RUNTIME) public interface TreeParentId {}/*** Date: 2023/10/28* Author: PuKun* Description: Tree工具类*/ public class TreeUtilsT {private ClassT aClass;private Field treeIdField;private Field treeParentIdField;private final String CHILDREN_KEY children;public TreeUtils(ClassT aClass) {if (aClass null) {throw new RuntimeException(传入的class为NULL);}this.aClass aClass;init();}private void init() {Field[] fields this.aClass.getDeclaredFields();for (Field f : fields) {if (f.isAnnotationPresent(TreeId.class)) {this.treeIdField f;} else if (f.isAnnotationPresent(TreeParentId.class)) {this.treeParentIdField f;}// 这一步也没什么用我的想法是如果这两列提前找到那么就提前结束循环if (this.treeIdField ! null this.treeParentIdField ! null) {break;}}if (this.treeIdField null || this.treeParentIdField null) {throw new RuntimeException(没有找到相应的注解);}// 避免因字段为private时无法访问this.treeIdField.setAccessible(true);this.treeParentIdField.setAccessible(true);}public ListHashMapString, Object getTreeData(ListT data) throws IllegalAccessException {Object topParentId getTopParentId(data);return buildTreeData(data, topParentId);}private Object getTopParentId(ListT data) throws IllegalAccessException {// 获取所有parentId的值MapObject, Integer parentIdMap new HashMap();for (T o : data) {Object v this.treeParentIdField.get(o);parentIdMap.put(v, 0);}// 计算每个parentId的数量for (T o : data) {Object v this.treeIdField.get(o);if (parentIdMap.containsKey(v)) {int keyValue parentIdMap.get(v);parentIdMap.put(v, keyValue);}}// 当parentId的数量等于0时说明当前的parentId没有找到对应的treeId那么就是最顶层的parentIdObject topParentId null;SetMap.EntryObject, Integer entries parentIdMap.entrySet();for (Map.EntryObject, Integer e : entries) {if (e.getValue() 0) {topParentId e.getKey();}}return topParentId;}private ListHashMapString, Object buildTreeData(ListT data, Object parentId) throws IllegalAccessException {ListHashMapString, Object list new ArrayList();for (T o : data) {Object pid this.treeParentIdField.get(o);Object tid this.treeIdField.get(o);if (pid.equals(parentId)) {HashMapString, Object map new HashMap();Field[] fields this.aClass.getDeclaredFields();for (Field f : fields) {f.setAccessible(true);map.put(f.getName(), f.get(o));}ListHashMapString, Object children buildTreeData(data, tid);if (children.size() 0) {map.put(CHILDREN_KEY, children);}list.add(map);}}return list;} } /*** Date: 2023/11/14* Author: PuKun* Description: 树形工具类测试*/ class TreeUtilsTest {class Dept {TreeIdprivate int id;private String deptName;TreeParentIdprivate int parentId;public Dept(int id, String deptName, int parentId) {this.id id;this.deptName deptName;this.parentId parentId;}public int getId() {return id;}public void setId(int id) {this.id id;}public String getDeptName() {return deptName;}public void setDeptName(String deptName) {this.deptName deptName;}public int getParentId() {return parentId;}public void setParentId(int parentId) {this.parentId parentId;}}class Dept2 {TreeIdprivate String id;private String deptName;TreeParentIdprivate String parentId;public Dept2(String id, String deptName, String parentId) {this.id id;this.deptName deptName;this.parentId parentId;}public String getId() {return id;}public void setId(String id) {this.id id;}public String getDeptName() {return deptName;}public void setDeptName(String deptName) {this.deptName deptName;}public String getParentId() {return parentId;}public void setParentId(String parentId) {this.parentId parentId;}}Testvoid getTreeData() {// ListDept list new ArrayList(); // list.add(new Dept(1, 闲简居有限公司, 0)); // list.add(new Dept(2, 开发部, 1)); // list.add(new Dept(4, Java组, 2)); // list.add(new Dept(5, 前端组, 2)); // list.add(new Dept(3, 测试部, 1));// list.add(new Dept(2, 开发部, 1)); // list.add(new Dept(4, Java组, 2)); // list.add(new Dept(5, 前端组, 2)); // list.add(new Dept(3, 测试部, 1));// TreeUtilsDept treeUtils new TreeUtils(Dept.class); // ListHashMapString, Object mapList null; // try { // mapList treeUtils.getTreeData(list); // } catch (IllegalAccessException e) { // Assertions.fail(e.getMessage()); // }ListDept2 list new ArrayList();list.add(new Dept2(1, 闲简居有限公司, 0));list.add(new Dept2(2, 开发部, 1));list.add(new Dept2(4, Java组, 2));list.add(new Dept2(5, 前端组, 2));list.add(new Dept2(3, 测试部, 1));TreeUtilsDept2 treeUtils new TreeUtils(Dept2.class);ListHashMapString, Object mapList null;try {mapList treeUtils.getTreeData(list);} catch (IllegalAccessException e) {Assertions.fail(e.getMessage());}Assertions.assertNotEquals(null, mapList);System.out.println(mapList);} }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914537.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何选择网站开发语言企业信用信息查询系统官网(全国)

快速流媒体 当Java 8最终问世时,我和一些大学开始了一个开源项目,以利用Java 8的流库使整个Java / DB问题进一步向前发展,以便将数据库表视为纯Java 8流。 速度诞生了! 哇,现在我们可以做类型安全的数据库应用程序了&a…

手机精品网站建设取消wordpress激活邮件

一 fgets(resource $stream, ?int $length null) 从文件指针中读取一行。 返回字符串,如果文件指针中没有更多的数据了则返回 false。错误发生时返回 false。 $stream 为文件资源,必须指向fopen()或fscokopen()成功打开的文件。文件打开之后&#x…

制作营销网站公司英才网

背景: 在分布式中,最难解决的一个问题就是多个节点间数据同步问题。为了解决这样的问题,涌现出了各种奇思妙想。只有在解决了如何进行信息同步的基础之上才衍生出形形色色的应用。这里开始介绍几种分布式通信协议。 简单即有效——totem协议:…

网站建设案例步骤房产网站排行

循环结构 1.1遍历循环结构for 1.1.1遍历循环for (1)遍历循环for的语句结构: for 循环遍历 in 遍历对象: 语句块 程序执行: (2)示例: #遍历字符串 for i in hello:print(i) #range()函数,python中的内…

仙居网站建设贴吧百度一下手机版网页

Jdk 1.8 for mac 详细安装教程(含版本切换) 官网下载链接 https://www.oracle.com/cn/java/technologies/downloads/#java8-mac 一、选择我们需要安装的jdk版本,这里以jdk8为例,下载 macOS 版本,M芯片下载ARM64版本…

网站建设公司六安旅游景点网页设计作品

【React】前端项目引入阿里图标 方式11、登录自己的iconfont-阿里巴巴矢量图标库,把需要的图标加入到自己的项目中去;2、加入并进入到项目中去选择Font class 并下载到本地3、得到的文件夹如下4. 把红框中的部分粘贴到自己的项目中(public 文…

wordpress手机端网站模板下载商城网站建设如何交谈

高斯金字塔和拉普拉斯金字塔【1】在图像相关领域应用广泛,尤其是图像融合和图像分割方面。本文从理论和opencv实现两个方面对两种金字塔进行了介绍,并给出了二者的视觉效果。1、高斯金字塔在计算机视觉与图像处理相关任务中,经常需要使用同一…

建设网站的价格表安卓优化大师破解版

前言 之前被面试官问到hooks解决了什么问题,当时就说了一部分,还是决定总结一下,毕竟临场发挥肯定会说不全。 React Hooks React Hooks 是 React 16.8 引入的一项重要功能,它解决了一些在使用类组件时存在的问题,并…

北京网站建设公司哪家实惠wordpress顶部菜单哪里设置

引言 对于 Collection 集合及其实现类都有 removeAll(Collection<?> c)。 对于ArrayList 的实例对象&#xff0c;在数据比较多的情况下&#xff0c;方法 removeAll() 的传参 c 的类型是 HashSet会比是 ArrayList 的情况快的多。 原因 我们来细看一下ArrayList类的re…

网站建设技术服务合同佛山建设

10月26日&#xff0c;教育部召开新闻发布会&#xff0c;介绍综合防控儿童青少年近视工作情况。全国综合防控儿童青少年近视工作联席会议机制办公室主任、教育部体育卫生与艺术教育司司长王登峰介绍&#xff0c;2018年全国儿童青少年的总体近视率53.6%&#xff0c;2019年总体近视…

遵义网站搭建公司哪家好东阳市网站建设

id返回不确定类型的对象&#xff08;也就是任意类型的对象&#xff09;&#xff0c;- (id)arrayWithData;返回的就是不确定类型的对象&#xff0c;如果执行数组的方法&#xff0c; [- (id)arrayWithData objectOfIndex:0]编译时不会报错&#xff0c;但运行时会报错&#xff0c;…

做地方旅游网站html5个人主页制作代码

代码目录 框架 our_storage 编译最终生成的目标文件obj 编译生成中间的.o文件 data_global.c 公共资源定义&#xff08;使用在外extern即可&#xff09;定义了锁定义了条件变量消息队列id、共享内存id、信号量id及key值发送短信、接收短信的号码向消息队列发送消息的函数&am…

网站建设与规划学的心得体会网站策划过程

题目描述 有\(n(n<1000000)\)个小朋友坐成一圈&#xff0c;每人有\(a_i\)个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为\(1\)&#xff0c;求使所有人糖果数相等的最小代价。 暴力的做法比较显然&#xff0c;有\(30\)分&#xff0c;这里就不再赘述了。 推…

汽车o2o网站建设网站幻灯片js代码

在派生类中&#xff0c;成员可以按访问属性分为以下四种&#xff1a; &#xff08;1&#xff09;不可访问成员。这是从基类私有成员继承下来的&#xff0c;派生类或是建立派生类对象的模块都无法访问到它们&#xff0c;如果从派生类继续派生新类&#xff0c;也是无法访问的。 &…

代做网站公司有哪些网站建设中 目录是什么

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

买外贸衣服的网站wordpress 非插件分页

转载自 史上最全MySQL 大表优化方案&#xff08;长文&#xff09; 当MySQL单表记录数过大时&#xff0c;增删改查性能都会急剧下降&#xff0c;可以参考以下步骤来优化&#xff1a; 一、单表优化 除非单表数据未来会一直不断上涨&#xff0c;否则不要一开始就考虑拆分&…

提供网站设计方案公司南昌手机网站制作

从今天开始&#xff0c;我将带你一起学习 MySQL 的性能调优。MySQL 数据库是互联网公司使用最为频繁的数据库之一&#xff0c;不仅仅因为它开源免费&#xff0c;MySQL 卓越的性能、稳定的服务以及活跃的社区都成就了它的核心竞争力。 我们知道&#xff0c;应用服务与数据库的交…

私人做网站图片外国网站翻墙怎么做

一、什么是代码片段当在Xcode中输入dowhile并回车后&#xff0c;Xcode会出现下图所示的提示代码&#xff1a;这就是代码片段&#xff0c;目的是使程序员以最快的速度输入常用的代码片段&#xff0c;提高编程效率。该功能是从Xcode4开始引入的。在Xcode中的位置如下图所示&#…

企业网站 html模板下载网站建设与维护心得体会

用过Java的都知道SSH框架&#xff0c;特别对于数据库开发&#xff0c;Java领域有无数的ORM框架&#xff0c;供数据持久层调用&#xff0c;如Hibernate&#xff0c;iBatis(现在改名叫MyBatis)&#xff0c;TopLink&#xff0c;JDO&#xff0c;JPA……非常方便实用。用过C#的同学们…

设计公司网站域名郑州免费网站建设哪家好

什么是SQLite&#xff1f; SQLite是安卓中的轻量级内置数据库&#xff0c;不需要设置用户名和密码就可以使用。资源占用较少&#xff0c;运算速度也比较快。 SQLite支持&#xff1a;null&#xff08;空&#xff09;、integer&#xff08;整形&#xff09;、real&#xff08;小…