java中如何實(shí)現(xiàn)比較兩個list的值是否一致?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
十余年的臨江網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整臨江建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“臨江網(wǎng)站設(shè)計”,“臨江網(wǎng)站推廣”以來,每個客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
java list 比較詳解及實(shí)例
java里比較兩個list的值是否一致,不考慮順序,有多種方法,比如排序后直接用equals比較,相互之間執(zhí)行兩次containsAll等,這些辦法都需要我們給list的元素類實(shí)現(xiàn)equals和hashcode方法。但是有一種特殊情況,如果我們并不方便去實(shí)習(xí)類的equals方法,例如是一個古老的第三方j(luò)ar包,改代碼會帶來很多未知問題,這時候該怎么辦呢。
其實(shí)很簡單,萬能的apache-commons早就想到了這一點(diǎn),所以在commons-collections4中增加了外部輸入equals和hashcode的方法,甚至equals和hashcode方法本身也不需要我們自己寫代碼,可以用comons-lang包實(shí)現(xiàn),具體代碼如下
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.1</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.5</version> </dependency> public static <T> boolean isEqualCollection(Collection<T> l1, Collection<T> l2, final String... exludedFields) { Equator<T> equator = generateEquator(exludedFields); return CollectionUtils.isEqualCollection(l1, l2, equator); }
private static <T> Equator<T> generateEquator(final String... exludedFields) { Equator<T> equator = new Equator<T>() { @Override public boolean equate(T o1, T o2) { if (o1 == null && o2 == null) { return true; } if (o1 == null || o2 == null) { return false; } if (o1.getClass() != o2.getClass()) { return false; } return EqualsBuilder.reflectionEquals(o1, o2, exludedFields); } @Override public int hash(T o) { return HashCodeBuilder.reflectionHashCode(o, exludedFields); } }; return equator; }
看完上述內(nèi)容,你們掌握java中如何實(shí)現(xiàn)比較兩個list的值是否一致的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
新聞名稱:java中如何實(shí)現(xiàn)比較兩個list的值是否一致
當(dāng)前鏈接:http://muchs.cn/article48/ghjcep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、用戶體驗(yàn)、標(biāo)簽優(yōu)化、網(wǎng)站收錄、網(wǎng)頁設(shè)計公司、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)