English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Recursion is a very useful knowledge point. Write some examples to help yourself remember
There is some process code in the middle
This is the first javapojo class
package com.qcf.po; import java.util.HashSet; import java.util.Set; public class Depart { private long id; private String name; private String destion; //User Set<User> users = new HashSet<User>(); //Child department Set<Depart> departs = new HashSet<Depart>(); //Parent department private Depart depart; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Set<User> getUsers() { return users; } public void setUsers(Set<User> users) { this.users = users; } public Set<Depart> getDeparts() { return departs; } public void setDeparts(Set<Depart> departs) { this.departs = departs; } public Depart getDepart() { return depart; } public void setDepart(Depart depart) { this.depart = depart; } public String getDestion() { return destion; } public void setDestion(String destion) { this.destination = destination; } }
Test Code:
package com.qcf.util; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set; import org.aspectj.weaver.patterns.ThisOrTargetAnnotationPointcut; import com.qcf.po.Depart; public class PreDepart { /** * Structure * ┝Development Department * ┝Development Department One * ┝Development Team One * ┝Development Team Two * ┝Development Department Two * ┝Development Team Three * ┝Development Team Four * ┝Sales Department * ┝Sales Department One * ┝Sales Department Two */ public static List<Depart> findDepartTopList(){ //Top Level Depart depart1= new Depart(); depart1.setName("Development Department"); //Second Level Depart depart1_1= new Depart(); depart1_1.setName("Development Department One"); //Third Level Depart depart1_1_1= new Depart(); depart1_1_1.setName("Development Team One"); Depart depart1_1_2= new Depart(); depart1_1_2.setName("Development Team Two"); Set<Depart> departs1_1= new HashSet<Depart>(); departs1_1.add(depart1_1_1); departs1_1.add(depart1_1_2); depart1_1.setDeparts(departs1_1); Depart depart1_2= new Depart(); depart1_2.setName("Development Department Two"); Depart depart1_2_1= new Depart(); depart1_2_1.setName("Development Team One"); Depart depart1_2_2= new Depart(); depart1_2_2.setName("Development Team Two"); Set<Depart> departs1_2= new HashSet<Depart>(); departs1_2.add(depart1_1_1); departs1_2.add(depart1_1_2); depart1_2.setDeparts(departs1_1); Set<Depart> departs1= new HashSet<Depart>(); departs1.add(depart1_1); departs1.add(depart1_2); depart1.setDeparts(departs1); //Top Level Depart depart2= new Depart(); depart2.setName("Sales Department"); //Second Level Depart depart2_1= new Depart(); depart2_1.setName("Sales Department One"); Depart depart2_2= new Depart(); depart2_2.setName("Sales Department Two"); Set<Depart> departs = new HashSet<Depart>(); departs.add(depart2_1); departs.add(depart2_2); depart2.setDeparts(departs); List<Depart> list = new ArrayList<Depart>(); list.add(depart1); list.add(depart2); return list; } public static void main(String[] args) { List<Depart> list = findDepartTopList(); // for (Depart depart : list) { // getAllDepartName(depart); // } getAllDepartName_2(list,"="); } /**Print all departments*/ public static void getAllDepartName(Depart depart){ System.out.println(depart.getName()); for (Depart chirden : depart.getDeparts()) { getAllDepartName(chirden); } } /**Print all departments*/ public static void getAllDepartName_2(Collection<Depart> list,String pre){ for (Depart depart2 : list) { System.out.println( pre +depart2.getName()); getAllDepartName_2(depart2.getDeparts()," "+pre); } } }
Summary
That is all the content of this article about the code examples of Java recursive algorithm traversal. I hope it will be helpful to everyone. Those who are interested can continue to refer to this site:
Analysis of Java Recursive Algorithm Example
Code Example of Solving the Tower of Hanoi Problem Using Stack in Java Programming (Non-recursive)
Detailed Explanation of the Selection of Map Traversal Methods in Java
If there is anything lacking, please leave a message to point it out. Thank you for your friends' support of this site!
Statement: The content of this article is from the Internet, and the copyright belongs to the original author. The content is contributed and uploaded by Internet users spontaneously. This website does not own the copyright, has not been manually edited, and does not assume any relevant legal liability. If you find any content suspected of copyright infringement, please send an email to: notice#oldtoolbag.com (Please replace # with @ when sending an email to report, and provide relevant evidence. Once verified, this site will immediately delete the content suspected of infringement.)