读书人

某公司的面试题-递归拿到全部子类的id

发布时间: 2012-08-31 12:55:03 作者: rapoo

某公司的面试题--递归拿到所有子类的id

package com;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class Test1 {List list2 = new ArrayList();         //构造数据库listpublic 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;}         //循环拿到所有的子类idpublic 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;}}

读书人网 >行业软件

热点推荐