La récursivité est un point de connaissance très utile. Écrivez quelques exemples pour m'aider à me souvenir
Il y a du code de processus au milieu
D'abord une classe javapojo
package com.qcf.po; Importer java.util.hashset; import java.util.set; public class sors {private long id; name de chaîne privée; destination de chaîne privée; // set utilisateur <serv> users = new hashset <serv> (); // département de sous-classe <destr> Départ = new hashset <pass setID (long id) {this.id = id;} public String getName () {return name;} public void setName (name de chaîne) {this.name = name;} set public set <serv> getUsers () {return users;} public setUsers (set <ser> utilisateurs) {this.users = users;} set public <part> getDeparts () {partage; setDeparts (set <Dart> Départ) {this.departts = dépasse;} public Départ GetDart () {return Départ;} public void setDepart (Départ) {this.depart = Départ;} public String GetDestion () {return Destination;} public void SetDarstion (String Destination) {this.destion = Destition;}}}Code de test:
package com.qcf.util; import java.util.arraylist; import java.util.collection; import java.util.hashset; importer java.util.list; import java.util.set; import java.util.set; import org.aspectj.weaver.pattens.thisortargetannotationpointputCut; com.qcf.po.depart; classe publique PredPart {/ ** * Structure * ┝Development Department * ┝Development One * ┝Development Group * ┝Development Group 2 * ┝development Part 2 * ┝Development Group 3 * ┝ ┝Development Group 4 * ┝ ┝sales Département * finddeparttoplist () {// top de départ1 = new Depart (); Depart1.setName ("Development Department"); // Second Depart1_1 = new Depart (); Depart1_1. 2 "); set <Dart> départs1_1 = new HashSet <Dart> (); départs1_1.add (Depart1_1_1); départs1_1.add (Depart1_1_2); Depart1_1. Depart (); Depart1_2_1.setName ("Development Group One"); Départ Depart1_2_2 = new Depart (); Depart1_2_2.SetName ("Development Group Two); set <Dart> Départ1_2 = new HashSet <Dart> (); Départ1_2.add (Depart1_1_1); départs1_2.add (Depart1_1_2); Depart1_2.setDeparts (Départ1_1); set <Dart> Départ1 = new HashSet <Dart> (); départs1.add (Depart1_1); dépasse 1.add (Depart1_2); Depart1.setDeparts (DepartS1); // Top Depart2 = new Depart (); Depart2.SetName ("Sales Department"); // Second Depart Depart (); Depart2_2.SetName ("Sales Two"); set <Dart> DepartS = new Hashset <Dart> (); départs.Add (Depart2_1); départs.Add (Depart2_2); Depart2.SetDeparts (Departts); List <Dart> List = New ArrayList <Dart> (); List.Add (STARCH); List.Addd (départs); Retour List; args) {list <destre> list = findDartToplist (); // for (Départ de départ: list) {// getAllDEpartName (Départ); //} getAllDepartName_2 (list, "=");} / ** Imprimer tous les départements * / public static Void getallDame (); pour (Départ Chirden: Depart.getDeparts ()) {getAllDepartName (Chirden);}} / ** Imprimez tous les départements * / public static void getAllDepartName_2 (Collection <Dart> List, String pre) {for (Depart Depart2: list) {System.out.println (Pre) + Depart2.GetName ()); getAllDepartName_2 (Depart2.GetDeparts (), "" + Pre);}}}Résumer
Ce qui précède est tout le contenu de cet article sur l'exemple de code de l'algorithme récursif Java. J'espère que ce sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à ce site:
Java Recursive Algorithme Exemple Analyse
Java Programming utilise Stack pour résoudre des exemples de code de problème Hanover (non réécursif)
Explication détaillée de la sélection des méthodes de traversée MAP en Java
S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!