首页 > 编程语言 >java获取树状结构

java获取树状结构

时间:2024-04-29 20:11:41浏览次数:18  
标签:java 树状 list inBean Long 获取 outBean returnList

/**
* 转成树状结构
*/
public List<DictVO> toTree(List<DictVO> list){
List<DictVO>treelist=new ArrayList<DictVO>();
for(DictVO outBean:list) {
for(DictVO inBean:list) {
Long outid=outBean.getId();
Long inpid=inBean.getParentId();
if(outid.equals(inpid)) {
List<DictVO>maplist=(ArrayList) outBean.getChildren();
maplist.add(inBean);
}
}
Long prid=outBean.getParentId();
if(!Func.isEmpty(prid)) {
treelist.add(outBean);
}
}
return treelist;
}

/**
* 递归获取所有子集
*/
/**
*递归获取树状结构子集
* @param list
* @param returnList
* @return
*/
public List<DictVO>getList(List<DictVO>list,List<DictVO>returnList){
if(Func.isNotEmpty(list)){
for(DictVO bean:list){
List<DictVO>list1=baseMapper.getListByParentId(bean.getId());
returnList.add(bean);
if(Func.isNotEmpty(list1)){
getList(list1,returnList);
}
}

}
return returnList;
}

标签:java,树状,list,inBean,Long,获取,outBean,returnList
From: https://www.cnblogs.com/xianz666/p/18166573

相关文章

  • 8.Java异常(后续将添加编辑)
    异常最全最详细的Java异常处理机制异常处理机制抛出异常捕获异常处理异常关键字:try,catch,finally,throw,throws;packagecom.exception;publicclassText{publicstaticvoidmain(String[]args){inta=1;intb=0;try{......
  • bugku_ez_java_serializd
    下载附件看到依赖CC3.1,没有waf,直接CC5打了。packagecom.eddiemurphy;importorg.apache.commons.collections.Transformer;importorg.apache.commons.collections.functors.ChainedTransformer;importorg.apache.commons.collections.functors.ConstantTransformer;impo......
  • [2022DASCTF Apr X FATE 防疫挑战赛] warmup-java
    没错,还是java。我就跟java杠上了。分析先看依赖:没有啥特别的。审一下源码:IndexController.java:warmup路由下传参data,下面把十六进制转为字节直接反序列化了。看下动态代理MyInvocationHandler.java:看一下Utils的hexStringToBytes方法: 下面分析来自Java专题-简......
  • <BEA-000438> <Unable to load performance pack. Using Java I/O instead. Please en
    环境:weblogic10.3.6jdk1.6 myeclipse10.7今天升级了一下myeclipse到10.7,然后配置weblogic,启动的时候报<BEA-000438><Unabletoloadperformancepack.UsingJavaI/Oinstead.Pleaseensurethatwlntio.dll之前用myeclipse8.5没报过这个问题。后来上网看了一下,是找不到......
  • 根据key 获取父级 和本身 key值
    vardata=[{key:1,name:"1",pd:0,age:60,address:"1",children:[{key:11,name:"1-1",age:42,},{key:12,name:"1-2&quo......
  • java 数据库编程(一)JDBC连接Sql Server数据库
    java数据库编程(一)JDBC连接SqlServer数据库一、JDBC简介java数据库连接技术(JavaDatabaseConnection,JDBC)是由java提供的一组与平台无关的数据库的操作标准,其本身由一类与接口组成,并且在操作中将按照严格的顺序执行。由于数据库属于资源操作,所以所有的数据库操作的最后必......
  • java中的代理
    目录定义好处分类静态代理示例(接口实现)例一:(海外代购)动态代理jdk动态代理(接口)CGLIB代理(继承)定义是一种设计模式,提供对目标对象另外的访问方式好处目标对象可以间接访问可以在目标对象实现的基础上,增强额外的功能,即扩展目标对象的功能不改变原有代码的前提下,可以通过代理来......
  • vue:子组件从后台获取数据期间,父组件被遮罩覆盖
    效果:父组件代码<template><el-containerv-loading="loading"class="container"element-loading-background="rgba(1,35,54,0.8)"><h1>这是父组件</h1><HelloWorldmsg="Welcometo......
  • 【转】[Java] 防止并发的多种写法
    来自:阿里的通义灵码要确保在Java中同一方法被多个线程同时调用时,只有其中一个成功执行,可以采用几种并发控制策略。以下是几种实现方式:1.使用ReentrantLock的tryLock()importjava.util.concurrent.locks.ReentrantLock;publicclassSingletonExecution{privatesta......
  • 2-LinuxJava安装
    环境CentOS7.5Java8卸载现有JDKrpm-qa|grep-ijava|xargs-n1sudorpm-e--nodseps上传Java压缩包将jdk-8u212-linux-x64.tar文件上传到/opt/software目录中解压Java压缩包进入/opt/software目录cd/opt/software解压缩文件到指定目录tar......