package com;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test1 {
List list2 = new ArrayList();
//构造数据库list
public List<Student> getStudent(){
List<Student> list = new ArrayList<Student>();
list.add(new Student("2","1"));
list.add(new Student("3","2"));
list.add(new Student("4","3"));
list.add(new Student("5","3"));
return list;
}
//循环拿到所有的子类id
public List getAll(String i,List<Student> list){
Iterator iter = list.iterator();
while(iter.hasNext()){
Student student = (Student)iter.next();
if(i.equals(student.getParentid())){
list2.add(student.getId());
getAll(student.getId(),list);
}
}
return list2;
}
//测试
public static void main(String[] args) {
List list = new Test1().getAll("1", new Test1().getStudent());
Iterator iter = list.iterator();
while(iter.hasNext()){
System.out.println((iter.next()));
}
}
}
class Student {
private String id;
private String parentid;
public Student() {
}
public Student(String id, String parentid) {
this.id = id;
this.parentid = parentid;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getParentid() {
return parentid;
}
public void setParentid(String parentid) {
this.parentid = parentid;
}
}
分享到:
相关推荐
List list2 = new ArrayList(); public List getAll(String i,List<Student> list){ Iterator iter = list.iterator(); while(iter.hasNext()){ Student student = (Student)iter.next();...
n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---...
### C++ 试题解析:递归与 L 形块问题 #### 标题与描述解析 根据提供的标题“C++试题--递归”以及描述部分的内容来看,这是一道涉及递归算法的 C++ 编程题目。描述中的示例显示了一个通过用户输入 X-Y 坐标来填充一...
n后问题--非递归迭代回溯.rar n后问题--非递归迭代回溯.rar n后问题--非递归迭代回溯.rar n后问题--非递归迭代回溯.rar n后问题--非递归迭代回溯.rar n后问题--非递归迭代回溯.rar
第二种算法则采用了递归的方式,通过递归函数调用自己来完成链表的反转。两种方法都需要注意边界条件,即空链表和只有一个元素的链表不需要进行反转。 在链表的操作中,还有其他一些常见问题,如查找链表的倒数第N...
在实际的Web应用开发中,尤其是那些拥有复杂权限管理和动态路由的系统,后端服务器通常会返回一个包含所有菜单项的数据结构。这些数据可能包含多个层级,以表示菜单的嵌套关系。为了在前端正确地渲染出这些菜单,...
在IT面试中,二叉树的遍历是一个常见的知识点,尤其对于编程岗位来说更是必不可少的考察点。二叉树的遍历主要有三种方式:先序遍历、中序遍历和后序遍历。这些遍历方法可以使用递归或非递归的方式实现。 **先序遍历...
在`js代码-010面试题--递归的理解`这个主题中,我们主要探讨以下几个核心知识点: 1. **递归的基本原理**:递归函数由两部分组成:基本情况(Base Case)和递归情况(Recursive Case)。基本情况是问题的最简单形式...
本文的描述为空,但通过标签和部分内容可以了解到这是一道关于Transformer的面试题,该题目考察了候选人的数据结构转换能力。 标签解读 前端工程师面试,表明本文是关于前端开发领域的面试题。 部分内容解读 本文...
本文档标题为"前端大厂最新面试题-tecent",该标题表示这是一个关于前端面试题的文档,特别是针对腾讯(tecent)公司的面试题。 描述解释 该文档的描述为"前端大厂最新面试题-tecent",该描述进一步强调了该文档的...
遍历递归的先中後序, 非递归的先中後序, 计算出深度 结点数 /* 运行结果: ------------------------ 请先序输入二叉树(如:ab三个空格表示a为根节点,b为左子树的二叉树) ab c 先序递归遍历二叉树: a b c 先序...
哈夫曼编码实现_c语言 (最小堆) 求WPL -----递归求解
《程序员面试题精选100题—何海涛》是一份详实的IT面试准备资料,由何海涛整理发布,旨在帮助应届毕业生和求职者准备面向微软、谷歌等知名科技公司的面试。此资料不仅收录了精选的100道面试题目,还提供了详细的解题...
由于递归涉及到函数调用自身的多次堆叠,调试时可能会遇到一些特殊的挑战,比如跟踪调用栈、处理无限递归的情况,以及确保递归终止条件正确无误。 例如,当我们计算斐波那契数列时,如果没有正确设置终止条件,可能...
前端大厂最新面试题-tail_recursion 本文主要讲述了递归和尾递归的概念、实现和应用场景。递归是一种函数调用自身的方法,可以将一个大型复杂的问题分解成一个与原问题相似的规模较小的问题来求解。递归需要有边界...
U-Net的落地应用基于U-Net的递归残差卷积神经网络(R2U-Net)在医学图像分割中的应用
[6.6.1]--413递归小结.srt
[6.6.1]--413递归小结.mp4
前端大厂最新面试题-depth-first-search 本文档总结了前端大厂最新面试题,涵盖了深度优先搜索(Depth-First Search, DFS)相关的问题和解决方案。深度优先搜索是一种常见的图遍历算法,通过递归或迭代的方式遍历图...
腾讯面试题解析.pdf 本资源是一份详细的腾讯面试题解析文档,涵盖了 Android 面试题、网络基础、常用三方库、算法基础等多个方面的知识点。下面是对该文档的详细解析: 计算机基础面试题 在计算机基础面试题部分...