欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java遞歸算法遍歷部門代碼示例

 更新時(shí)間:2017年12月23日 14:01:33   作者:老瞿  
這篇文章主要介紹了Java遞歸算法遍歷部門代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。

遞歸是一個(gè)非常有用的知識(shí)點(diǎn)。寫(xiě)點(diǎn)實(shí)例幫助自己記憶

中間有過(guò)程代碼

首先一個(gè)javapojo類

package com.qcf.po;
import java.util.HashSet;
import java.util.Set;
public class Depart {
	private long id;
	private String name;
	private String destion;
	//用戶
	Set<User> users=new HashSet<User>();
	//子類部門
	Set<Depart> departs=new HashSet<Depart>();
	//父類部門
	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.destion = destion;
	}
}

測(cè)試代碼:

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 {
	/**
   *  結(jié)構(gòu)
   *  ┝開(kāi)發(fā)部
   *    ┝開(kāi)發(fā)一部
   *      ┝開(kāi)發(fā)一組
   *      ┝開(kāi)發(fā)二組
   *    ┝開(kāi)發(fā)二部
   *      ┝開(kāi)發(fā)三組
   *      ┝開(kāi)發(fā)四組
   *  ┝銷售部
   *    ┝銷售一部
   *    ┝銷售二部
   */
	public static List<Depart> findDepartTopList(){
		//頂級(jí)
		Depart depart1=new Depart();
		depart1.setName("開(kāi)發(fā)部");
		//二級(jí)
		Depart depart1_1=new Depart();
		depart1_1.setName("開(kāi)發(fā)一部");
		//三級(jí)
		Depart depart1_1_1=new Depart();
		depart1_1_1.setName("開(kāi)發(fā)一組");
		Depart depart1_1_2=new Depart();
		depart1_1_2.setName("開(kāi)發(fā)二組");
		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("開(kāi)發(fā)二部");
		Depart depart1_2_1=new Depart();
		depart1_2_1.setName("開(kāi)發(fā)一組");
		Depart depart1_2_2=new Depart();
		depart1_2_2.setName("開(kāi)發(fā)二組");
		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);
		//頂級(jí)
		Depart depart2=new Depart();
		depart2.setName("銷售部");
		//二級(jí)
		Depart depart2_1=new Depart();
		depart2_1.setName("銷售一部");
		Depart depart2_2=new Depart();
		depart2_2.setName("銷售二部");
		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,"=");
	}
	/**將所有的部門打印出來(lái)*/
	public static void getAllDepartName(Depart depart){
		System.out.println(depart.getName());
		for (Depart chirden : depart.getDeparts()) {
			getAllDepartName(chirden);
		}
	}
	/**將所有的部門打印出來(lái)*/
	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);
		}
	}
}

總結(jié)

以上就是本文關(guān)于Java遞歸算法遍歷部門代碼示例的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

java遞歸算法實(shí)例分析

Java編程用棧來(lái)求解漢諾塔問(wèn)題的代碼實(shí)例(非遞歸)

Java中map遍歷方式的選擇問(wèn)題詳解

如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • 搭建 springboot selenium 網(wǎng)頁(yè)文件轉(zhuǎn)圖片環(huán)境的詳細(xì)教程

    搭建 springboot selenium 網(wǎng)頁(yè)文件轉(zhuǎn)圖片環(huán)境的詳細(xì)教程

    這篇文章主要介紹了搭建 springboot selenium 網(wǎng)頁(yè)文件轉(zhuǎn)圖片環(huán)境,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • java高并發(fā)之線程組詳解

    java高并發(fā)之線程組詳解

    這篇文章主要介紹了java高并發(fā)之線程組,Java提供了ThreadGroup類來(lái)控制一個(gè)線程組,一個(gè)線程組可以通過(guò)線程對(duì)象來(lái)創(chuàng)建,也可以由其他線程組來(lái)創(chuàng)建,生成一個(gè)樹(shù)形結(jié)構(gòu)的線程,需要的朋友可以參考下
    2021-10-10
  • Java小程序計(jì)算圓周率代碼

    Java小程序計(jì)算圓周率代碼

    這篇文章主要介紹了Java小程序計(jì)算圓周率代碼,有兩種實(shí)現(xiàn)方法,喜歡的朋友可以參考下。
    2017-09-09
  • spring監(jiān)視器actuator配置應(yīng)用

    spring監(jiān)視器actuator配置應(yīng)用

    這篇文章主要介紹了spring監(jiān)視器actuator配置應(yīng)用,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • JVM執(zhí)行引擎和垃圾回收要點(diǎn)總結(jié)

    JVM執(zhí)行引擎和垃圾回收要點(diǎn)總結(jié)

    不論是在問(wèn)題現(xiàn)場(chǎng)還是跳槽面試,我們面對(duì)JVM性能問(wèn)題,依舊會(huì)束手無(wú)辭,它需要你對(duì)Java虛擬機(jī)的實(shí)現(xiàn)和優(yōu)化,有極為深刻的理解。所以我在這里整理了一下 JVM的知識(shí)點(diǎn)。今天說(shuō)說(shuō)虛擬機(jī)執(zhí)行引擎和垃圾回收,都是十足的干貨,請(qǐng)各位看官耐心批閱!
    2021-06-06
  • Java Lambda 表達(dá)式詳解及示例代碼

    Java Lambda 表達(dá)式詳解及示例代碼

    本文主要介紹Java Lambda 表達(dá)式的知識(shí),這里整理了相關(guān)資料,JavaLambda 是Java8 引入的新功能,有興趣的小伙伴可以參考下
    2016-09-09
  • Java利用讀寫(xiě)的方式實(shí)現(xiàn)音頻播放代碼實(shí)例

    Java利用讀寫(xiě)的方式實(shí)現(xiàn)音頻播放代碼實(shí)例

    這篇文章主要介紹了Java利用讀寫(xiě)的方式實(shí)現(xiàn)音頻播放代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • java.net.SocketException: Connection reset 解決方法

    java.net.SocketException: Connection reset 解決方法

    最近糾結(jié)致死的一個(gè)java報(bào)錯(cuò)java.net.SocketException: Connection reset 終于得到解決
    2013-03-03
  • SpringBoot項(xiàng)目Maven下載依賴速度慢問(wèn)題的解決方法

    SpringBoot項(xiàng)目Maven下載依賴速度慢問(wèn)題的解決方法

    在使用Maven構(gòu)建項(xiàng)目時(shí),有時(shí)會(huì)遇到下載依賴包速度慢的問(wèn)題,為了提高下載速度,我們可以將默認(rèn)的倉(cāng)庫(kù)地址替換為國(guó)內(nèi)鏡像源,所以本文介紹了SpringBoot項(xiàng)目Maven下載依賴速度慢問(wèn)題的解決方法,需要的朋友可以參考下
    2024-08-08
  • Java生成含字母和數(shù)字的6位隨機(jī)字符串

    Java生成含字母和數(shù)字的6位隨機(jī)字符串

    這篇文章主要為大家詳細(xì)介紹了Java生成含字母和數(shù)字的6位隨機(jī)字符串的相關(guān)資料,供大家參考,感興趣的朋友可以參考一下
    2016-05-05

最新評(píng)論