利用stream判斷一個(gè)數(shù)組中是否有重復(fù)元素
前言
判斷數(shù)組中是否有重復(fù)元素可以說(shuō)是每一個(gè)編程語(yǔ)言初學(xué)者都會(huì)遇到的題目,常見(jiàn)的各種搜索算法本文不做贅述了,我們這次介紹的是利用java語(yǔ)言中特有的stream流操作來(lái)判斷通用類型數(shù)組是否包含重復(fù)元素。
功能實(shí)現(xiàn)
public static <T> boolean isDunplicate(T[] inputs){
long count= Arrays.stream(inputs).distinct().count();
if(count==inputs.length){
return false;
}
else {
return true;
}
}
首先我們聲明一個(gè)泛型方法:
public static <T> boolean isDunplicate(T[] inputs)
表明該方法適用于所有類型的數(shù)組。
方法體:
long count= Arrays.stream(inputs).distinct().count();
if(count==inputs.length){
return false;
}
else {
return true;
}
利用Arrays自帶的靜態(tài)方法stream(array),將數(shù)組轉(zhuǎn)換為stream,然后再去重并統(tǒng)計(jì)去重后的元素?cái)?shù)量。將去重后的元素?cái)?shù)量與原數(shù)組長(zhǎng)度進(jìn)行對(duì)比,如果兩者相等說(shuō)明數(shù)組中并無(wú)重復(fù)元素,如果兩者大小不同,則說(shuō)明原數(shù)組存在重復(fù)元素。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-650782.html
總結(jié)
該方法是依賴于java自帶的stream流操作進(jìn)行處理,代碼的重構(gòu)性一般,但可以適用于所有數(shù)據(jù)類型數(shù)據(jù),其通用性還是不錯(cuò)的。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-650782.html
到了這里,關(guān)于利用java語(yǔ)言中的stream流操作判斷一個(gè)數(shù)組中是否有重復(fù)元素的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!