成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

lambda表達(dá)式最全解析 jdk1.8新特性方法引用?

jdk1.8新特性方法引用?1.方法引用:如果Lambda體中的內(nèi)容已經(jīng)實(shí)現(xiàn),我們可以使用方法引用(可以理解為L(zhǎng)ambda表達(dá)式的另一種形式)主要有三種語(yǔ)法格式::對(duì)象::實(shí)例方法名類::靜態(tài)方法名類

jdk1.8新特性方法引用?

1.

方法引用:如果Lambda體中的內(nèi)容已經(jīng)實(shí)現(xiàn),我們可以使用方法引用(可以理解為L(zhǎng)ambda表達(dá)式的另一種形式)主要有三種語(yǔ)法格式::對(duì)象::實(shí)例方法名類::靜態(tài)方法名類::實(shí)例方法名注意,:體中調(diào)用方法的參數(shù)列表和返回值類型要與函數(shù)接口中抽象方法的函數(shù)列表和返回值類型一致。

2.

如果Lambda參數(shù)列表中的第一個(gè)參數(shù)是實(shí)例方法的調(diào)用方,第二個(gè)參數(shù)是實(shí)例方法的參數(shù),那么可以使用類名::方法@測(cè)試//對(duì)象::實(shí)例方法名。

java8 stream和foreach哪個(gè)效率高?

1.問(wèn)題的描述

java8 stream和foreach哪個(gè)效率更高?

問(wèn)題結(jié)論

超過(guò)150W數(shù)據(jù):streamgtparalleStreamgtsimple

150W條數(shù)據(jù)如下:simplegtstreamgtparalleStream

從性能上看:普通的forEach可以用于少量的數(shù)據(jù),不需要在java8中使用幾個(gè)新的,也不需要改變項(xiàng)目中已經(jīng)使用的東西,10W的差距只有幾毫秒。

2.測(cè)試案例

進(jìn)口

進(jìn)口

ForEachMain的公共類{

公共靜態(tài)void main(String[] args) {

//實(shí)例化arrayList

listlintegergt arrayList new ArrayListltIntegergt()

整數(shù)15000000

//插入10萬(wàn)條數(shù)據(jù)

for (int i 0 i lt num i ) {

}

listlintegergt RES new ArrayListltgt()

()

//用foreach循環(huán)arrayList

long arrayForeachStartTim:數(shù)組里的整數(shù)st) {

(英寸)

}

long arrayForeachEndTime()

用foreach循環(huán)arrayList (num)次:(ArrayForeacheEndTime-ArrayForeacheStartTime)毫秒)

()

//使用stream-foreach循環(huán)arrayList

長(zhǎng)數(shù)組流開(kāi)始時(shí)間()

().forEach

長(zhǎng)數(shù)組流結(jié)束時(shí)間()

使用Stream-foreach循環(huán)arrayList (num)次:(ArrayStreamEndTime-arraystreamstartime)毫秒)

()

//使用parallelStream-foreach循環(huán)arrayList

長(zhǎng)數(shù)組并行流開(kāi)始時(shí)間()

().forEach

長(zhǎng)數(shù)組并行流結(jié)束時(shí)間()

(用parallelStream-foreach循環(huán)arrayList (num)需要一萬(wàn)次:

(數(shù)組并行流時(shí)間-數(shù)組并行流時(shí)間)毫秒)

}

}

2.1當(dāng)編號(hào)為50000000時(shí)

使用foreach循環(huán)arrayList 50億次需要2840毫秒。

用stream-foreach循環(huán)arrayList 5000萬(wàn)次:507毫秒。

用parallelStream循環(huán)arrayList 5000萬(wàn)次-foreach時(shí)間:1168毫秒。

2.2當(dāng)num為500000時(shí)

使用foreach循環(huán)ArrayList 500,000次需要13毫秒。

用stream-foreach循環(huán)數(shù)組列表500,000次。時(shí)間:25毫秒。

用parallelStream循環(huán)ArrayList 500,000次-foreach時(shí)間:35毫秒。

2.3當(dāng)編號(hào)為5000時(shí)

使用foreach循環(huán)arrayList 5000次需要時(shí)間:1毫秒。

用stream-foreach循環(huán)ArrayList,000次:16毫秒。

使用parallelStream-foreach循環(huán)數(shù)組列表00,000次:8毫秒

最直觀的感受就是stream的流式處理應(yīng)該更快。這個(gè)假設(shè)需要事實(shí)來(lái)證明。運(yùn)行測(cè)試代碼后,發(fā)現(xiàn)并非如此。聽(tīng)覺(jué)是空的,眼見(jiàn)為實(shí),品嘗李子最簡(jiǎn)單的方法就是品嘗它們。記住,寫(xiě)代碼的時(shí)候,一定要以簡(jiǎn)單為原則。畢竟運(yùn)行程序的硬件成本會(huì)隨著時(shí)間不斷降低。

作者:Sunny sunset,歡迎關(guān)注我的頭條:偶遇美文,主流Java,告訴你不一樣的碼農(nóng)生活。