您好,登錄后才能下訂單哦!
本篇文章為大家展示了怎么在java中使用數(shù)據(jù)流,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
Java的特點(diǎn)有哪些 1.Java語(yǔ)言作為靜態(tài)面向?qū)ο缶幊陶Z(yǔ)言的代表,實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。 2.Java具有簡(jiǎn)單性、面向?qū)ο?、分布式、安全性、平臺(tái)獨(dú)立與可移植性、動(dòng)態(tài)性等特點(diǎn)。 3.使用Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。
1.reduce
對(duì)于更細(xì)粒度的控制,有另一個(gè)流 API 函數(shù),名為reduce,可用于對(duì) Number 流中的值求和:
Integer sum4AllHarder = listOfNums .parallelStream() // 多線程 .map(Number::getValue) // 每個(gè) Number 的值 .reduce(0, (sofar, next) -> sofar + next); // 求和
2.collect
collect是非常有用的終止操作,將流中的元素存放在不同類型的結(jié)果中。Java8通過(guò)內(nèi)置的Collectors類支持多種內(nèi)置的收集器。所以對(duì)于大部分常見操作,并不需要自己實(shí)現(xiàn)收集器。
List<Person> filtered = persons .stream() .filter(p -> p.name.startsWith("P")) .collect(Collectors.toList()); System.out.println(filtered); // [Peter, Pamela]
3.flatMap
flatMap將流中的每個(gè)元素,轉(zhuǎn)換為其它對(duì)象的流。所以每個(gè)對(duì)象會(huì)被轉(zhuǎn)換為零個(gè)、一個(gè)或多個(gè)其它對(duì)象,以流的形式返回。這些流的內(nèi)容之后會(huì)放進(jìn)flatMap所返回的流中。
List<Foo> foos = new ArrayList<>(); // create foos IntStream .range(1, 4) .forEach(i -> foos.add(new Foo("Foo" + i))); // create bars foos.forEach(f -> IntStream .range(1, 4) .forEach(i -> f.bars.add(new Bar("Bar" + i + " <- " + f.name))));
上述內(nèi)容就是怎么在java中使用數(shù)據(jù)流,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。