재귀는 매우 유용한 지식 요점입니다. 내가 기억하는 데 도움이되는 몇 가지 예를 작성하십시오
중간에 프로세스 코드가 있습니다
먼저 Javapojo 클래스
package com.qcf.po; import java.util.hashset; import java.util.set; public class depart {private long string; private string 이름; private 문자열 대상; // user set <user> users = new Hashset <user> (); // 하위 클래스 부서 set <lack> department <crivate depiration;) {retlare getl. setId (long id) {this.id = id;} public string getName () {return name;} public void setName (String name) {this.name = name;} public set <user> getUsers () {return user;} public void setUsers (set <user> user) {public set> geteparts () {return veance;} setDeparts (set <Leption) {this.departs = lefts;} public depart getDepart () {return leaff;} public void setDepart (replay void;테스트 코드 :
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 java.util.set; import org.aspect j.weaver.patterns.patternoTontontantantantantantantantantantantantantantantantantantantantantantantantantantantantantantantnotn의 가져 오기; com.qcf.po.depart; public class prectepart {/*** 구조* ┝ 개발 부서* ┝ 개발 그룹* ┝ 개발 그룹 2* ┝ 개발 부품 2* ┝ 개발 그룹 3* development Group 4* ┝sales department* ┝sales 1* ┝sales department department 2* sales department 2* ┝sales department 2*. findDepartTopList () {// top leave1 = new Leaper1 (); exter1.setName ( "개발 부서"); // Second Leaurn (); New Leaper (); bext1_1.setName ( "Development Group"); // Second Learge1_1 = new Beptment (); Next1_1.setName ( "Development Group"); New Beport (); 2 "); SET <Lexts1_1 = New Hashset <Lexert> (); expls1_1.add (rapper1_1_1); expls1_1.add (rapper1_1_2); next1_1.setDeparts (lapers1_1); leart1_2 = new Leapt (); Beapt1_2. New exter (); exter1_2_1.setName ( "Development Group One"); Depart1_2_2 = New Leaper (); expler1_2_2.setName ( "Development Group Two"); SET <Leper> Learge1_2 = new hashset <lext> (); expls1_2.add (leaft1_1_1); expers1_2.add (leaurn1_1_2); leapper1_2.setdeparts (learts1_1); set <Learge> next1 = new Hashset <cepts1.add (leaper11_1); expls1.add (lapper1_2); leaper1.setdeparts (lapers1); // top beapt2 = new beapt (); bext22.setname ( "Sales Department"); // Second2_1 = new Beapt (); level2_11.setname ( "Sales One"); rapce (); leaper2_2.setName ( "Sales Two"); set <Lext> departs = new Hashset <Leption> (); jourmentD (rapper2_1); letms.Add (jourple2_2); jourte2.setDeparts (Leargs); list = new arraylist <Lept> (); List.Add (list1); return 2 (return 2); main (string [] args) {list <Lext> list = findDepArtTopList (); // for (depart : list) {// getAllDepartName (lever); //} getAllDepartName_2 (list, "=");}/** 모든 부서 인쇄*/public static void getAllDepartName ( lect) {system.out.println (lect.getName ()); for (departe chirden : lever.getDeparts ()) {getAllDepartName (chirden);}}/** 모든 부서를 인쇄*/public static void getAllDepartName_2 (collection <Leper> 목록, 문자열 pre) {for (depart2 : list) {system.out.println (pre pre pre pre pre). +outld2.getName ()); getAllDepArtName_2 (fext2.getDeparts (), "" +pre);}}}요약
위는 Java Recursive Algorithm Traversing Department의 코드 예제에 대한이 기사의 모든 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구들은이 사이트를 계속 참조 할 수 있습니다.
Java 재귀 알고리즘 예제 분석
Java 프로그래밍은 스택을 사용하여 Hannover 문제 코드 예제를 해결합니다 (비 재구성)
Java의지도 트래버스 방법 선택에 대한 자세한 설명
단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!