這篇文章主要講解了“JAVA8的stream怎么使用”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“JAVA8的stream怎么使用”吧!
為民樂(lè)等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及民樂(lè)網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、民樂(lè)網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
對(duì)象是這樣的
import java.util.List; import lombok.Getter; import lombok.Setter; @Getter @Setter public class ResourceCache { private Long id; private Long pid; private String code; private String name; private Boolean leaf; /** 子菜單列表 **/ private Listchildren; }
給定一個(gè)List
Listhas = caches.stream().flatMap(c -> Stream.concat(Stream.of(c), c.getChildren().stream())) .flatMap(c -> Stream.concat(Stream.of(c), c.getChildren().stream())) .flatMap(c -> Stream.concat(Stream.of(c), c.getChildren().stream())) .flatMap(c -> Stream.concat(Stream.of(c), c.getChildren().stream())) .map(p -> p.getId()) .collect(Collectors.toList());
其中ResourceCache嵌套了幾層就用幾次flatMap,其中有個(gè)小的點(diǎn),用了Stream.concat,既保留自己也合并了下一級(jí)
感謝各位的閱讀,以上就是“JAVA8的stream怎么使用”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)JAVA8的stream怎么使用這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!