真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java--list轉(zhuǎn)樹形結(jié)構(gòu)-創(chuàng)新互聯(lián)

java–list轉(zhuǎn)樹形結(jié)構(gòu)

1. 雙重循環(huán)

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、同仁網(wǎng)站維護(hù)、網(wǎng)站推廣。

2. 遞歸

3. Stream()

1. 雙重循環(huán)

@Override
	public List
getAddressTree1() {// 獲取數(shù)據(jù)庫中的所有address數(shù)據(jù) List
list = this.baseMapper.getAddressTree(); // 返回的樹形數(shù)據(jù) List
tree = new ArrayList
(); // 第一次遍歷 for (Address address : list) { // 找到根節(jié)點(diǎn),這里我的根節(jié)點(diǎn)的pid為0 if (address.getPid().equals("0")) { tree.add(address); } // 定義list用于存儲(chǔ)子節(jié)點(diǎn) List
children = new ArrayList
(); // 再次遍歷list,找到子節(jié)點(diǎn) for (Address node : list) { // 子節(jié)點(diǎn)的pid等于父節(jié)點(diǎn)的id if (node.getPid().equals(address.getId())) {children.add(node); } } // 給父節(jié)點(diǎn)設(shè)置子節(jié)點(diǎn) address.setChildren(children); } return tree; }

2. 遞歸

@Override
    public List
getAddressTree2() {// 獲取數(shù)據(jù)庫中的所有address數(shù)據(jù) List
list = this.baseMapper.getAddressTree(); // 返回的樹形數(shù)據(jù) List
tree = new ArrayList
(); // 第一次遍歷 for (Address address : list) {// 找到根節(jié)點(diǎn),這里我的根節(jié)點(diǎn)的pid為0 if (address.getPid().equals("0")) {tree.add(findChild(address, list)); } } return tree; } private Address findChild(Address address, List
list) {// 定義list用于存儲(chǔ)子節(jié)點(diǎn) List
children = new ArrayList
(); for (Address node : list) {// 找到根節(jié)點(diǎn),這里我的根節(jié)點(diǎn)的pid為0 if (node.getPid().equals(address.getId())) {// 調(diào)用遞歸 children.add(findChild(node, list)); } } address.setChildren(children); return address; }

3. Stream()

@Override
    public List
getAddressTree() {// 獲取數(shù)據(jù)庫中的所有address數(shù)據(jù) List
addresses = this.baseMapper.getAddressTree(); // 操作所有的address數(shù)據(jù) // 通過Collectors.groupingBy(Address::getPid)方法對addresses按照Pid進(jìn)行分組,也就是將pid相同的放在一起 Map>addressMap = addresses.stream().collect(Collectors.groupingBy(Address::getPid)); // 循環(huán)addresses,給它設(shè)置children屬性 addresses.forEach(address ->{address.setChildren(addressMap.get(address.getId())); }); // 現(xiàn)在已經(jīng)形成了多棵樹,最后我們再通過filter()方法挑選出根節(jié)點(diǎn)的那顆樹即可。 這里我的根節(jié)點(diǎn)的pid為0 List
resultList = addresses.stream().filter(item ->item.getPid().equals("0")) .collect(Collectors.toList()); return resultList; }

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


新聞標(biāo)題:java--list轉(zhuǎn)樹形結(jié)構(gòu)-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://weahome.cn/article/ddspgg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部