精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何查找兩個列表之間的差異?

開發 前端
查找相同數據類型的對象集合之間的差異是一項常見的編程任務。舉個例子,假設我們有一份申請考試的學生名單和另一份通過考試的學生名單。這兩張名單的區別會告訴我們那些沒有通過考試的學生。

 [[337754]]

1. 概述

查找相同數據類型的對象集合之間的差異是一項常見的編程任務。舉個例子,假設我們有一份申請考試的學生名單和另一份通過考試的學生名單。這兩張名單的區別會告訴我們那些沒有通過考試的學生。

在Java中,List API 中沒有顯式的方法來查找兩個列表之間的差異,盡管有一些helper方法非常接近。

在本篇文章中,我們將了解如何找出兩個列表之間的差異。我們將嘗試幾種不同的方法,包括普通的Java(有和沒有Streams),以及使用第三方庫,如Guava和Apache Commons Collections。

2. 測試設置

首先定義兩個列表,我們將用它們來測試示例:

  1. public class FindDifferencesBetweenListsUnitTest { 
  2.   
  3.     private static final List listOne = Arrays.asList("Jack""Tom""Sam""John""James""Jack"); 
  4.     private static final List listTwo = Arrays.asList("Jack""Daniel""Sam""Alan""James""George"); 
  5.   

3. 使用 Java List API

我們可以創建一個列表的副本,然后使用List 的方法removeAll() ,刪除與另一個相同的所有元素:

  1. List<String> differences = new ArrayList<>(listOne); 
  2. differences.removeAll(listTwo); 
  3. assertEquals(2, differences.size()); 
  4. assertThat(differences).containsExactly("Tom""John"); 

讓我們把這個顛倒過來,從另一個角度找出差異:

  1. List<String> differences = new ArrayList<>(listTwo); 
  2. differences.removeAll(listOne); 
  3. assertEquals(3, differences.size()); 
  4. assertThat(differences).containsExactly("Daniel""Alan""George"); 

我們還應該注意到,如果我們想找到兩個列表之間的公共元素,List 還有一個 retainal 方法。

4. 使用 Streams API

Java Stream API 可用于對集合中的數據執行順序操作,包括過濾列表之間的差異:

  1. List<String> differences = listOne.stream() 
  2.             .filter(element -> !listTwo.contains(element)) 
  3.             .collect(Collectors.toList()); 
  4. assertEquals(2, differences.size()); 
  5. assertThat(differences).containsExactly("Tom""John"); 

與第一個示例一樣,我們可以切換列表的順序,以從第二個列表中找到不同的元素:

  1. List<String> differences = listTwo.stream() 
  2.             .filter(element -> !listOne.contains(element)) 
  3.             .collect(Collectors.toList()); 
  4. assertEquals(3, differences.size()); 
  5. assertThat(differences).containsExactly("Daniel""Alan""George"); 

注意 List.contains() 對于較大的列表來說,可能是一項成本高昂的操作。

5. 使用第三方庫

5.1. 使用Google Guava

Guava 包含 Sets.difference 方法, 但要使用它,我們需要先將列表轉換為集合:

  1. List<String> differences = new ArrayList<>(Sets.difference(Sets.newHashSet(listOne), Sets.newHashSet(listTwo))); 
  2. assertEquals(2, differences.size()); 
  3. assertThat(differences).containsExactlyInAnyOrder("Tom""John"); 

注意,將 列表 轉換為 集合 會產生重復數據消除和重新排序的效果。

5.2. 使用 Apache Commons Collections

Apache Commons Collections中的 CollectionUtils 包含 removeAll 方法.

該方法類似于List.removeAll(),同時也為結果創建一個新的集合:

  1. List<String> differences = new ArrayList<>((CollectionUtils.removeAll(listOne, listTwo))); 
  2. assertEquals(2, differences.size()); 
  3. assertThat(differences).containsExactly("Tom""John"); 

6. 處理重復值

現在讓我們看看當兩個列表包含重復值時的差異。

為了實現這一點,我們需要從第一個列表中刪除重復的元素,精確到它們包含在第二個列表中的次數

在我們的示例中,“Jack”值在第一個列表中出現兩次,在第二個列表中僅出現一次:

  1. List<String> differences = new ArrayList<>(listOne); 
  2. listTwo.forEach(differences::remove); 
  3. assertThat(differences).containsExactly("Tom""John""Jack"); 

我們也可以使用Apache Commons Collections中的subtract方法來實現:

  1. List<String> differences = new ArrayList<>(CollectionUtils.subtract(listOne, listTwo)); 
  2. assertEquals(3, differences.size()); 
  3. assertThat(differences).containsExactly("Tom""John""Jack"); 

7. 結論

在本文中,我們探討了幾種查找列表之間差異的方法。

在這些示例中,我們介紹了一個基本的Java解決方案,一個使用StreamsAPI的解決方案,以及Google Guava和Apache Commons Collections等第三方庫,以及了解了如何處理重復值。

本文轉載自微信公眾號「鍋外的大佬」,可以通過以下二維碼關注。轉載本文請聯系鍋外的大佬公眾號。

 

責任編輯:武曉燕 來源: 鍋外的大佬
相關推薦

2021-03-19 11:05:50

Linux目錄命令

2021-12-16 16:20:57

GoWebSocketLinux

2011-04-15 09:47:38

IntentActivityAndroid

2019-08-20 16:23:54

數據安全服務器IT

2010-08-17 15:52:59

FirefoxIEJavaScript

2023-12-20 22:04:17

Linux二進制文件

2011-08-29 18:17:58

Ubuntu

2021-05-07 08:03:05

JS動態合并

2021-12-01 07:31:50

Java文件校驗

2010-07-02 12:26:51

LEACH協議

2009-07-15 18:29:22

Jython應用

2022-06-17 09:46:51

Chrome 102Chrome瀏覽器

2017-04-10 14:35:35

SambaRsyncSysVol

2021-10-13 06:49:13

Integer 阿里巴巴包裝類

2021-01-11 16:30:40

SQL數據庫函數

2020-11-13 07:16:09

線程互斥鎖死循環

2022-02-27 13:16:09

漏洞網絡安全

2025-06-10 07:09:00

2023-03-31 07:31:28

SliceGolang

2014-05-29 17:03:05

UnixLinux管理員
點贊
收藏

51CTO技術棧公眾號

成人丝袜18视频在线观看| 天堂精品久久久久| 国产日韩欧美在线一区| 国产日韩精品在线观看| 少妇影院在线观看| 久久久久久毛片免费看| 欧美天堂一区二区三区| 视色,视色影院,视色影库,视色网| 亚洲国产精品无码久久| 久久精品亚洲一区二区| 欧美成人亚洲成人| 免费在线观看你懂的| 日韩黄色三级| 午夜精品123| 亚洲一区bb| 四虎在线免费观看| 国产乱理伦片在线观看夜一区| 777精品视频| 四虎永久免费在线| 国产一区二区三区探花| 欧美哺乳videos| av丝袜天堂网| www.51av欧美视频| 亚洲欧美日韩一区二区三区在线观看| 欧美极品日韩| 亚洲精品无遮挡| 麻豆极品一区二区三区| 欧美有码在线观看视频| 看片网站在线观看| 三级电影一区| 亚洲区一区二区| 波多野结衣加勒比| 久久久久久久久成人| 在线影院国内精品| 能在线观看的av| free性欧美| 亚洲美女视频一区| 一区二区三区av在线| 国产精品四虎| 国产亚洲精品bt天堂精选| 黄色91av| 天堂中文在线观看视频| 国产成+人+日韩+欧美+亚洲| 成人有码视频在线播放| 中文字幕日日夜夜| 日韩和的一区二区| 日本精品免费一区二区三区| 国产成人在线播放视频| 一区二区日韩免费看| 午夜精品在线视频| 久久伊人成人网| 欧美精品国产一区| 欧美成人午夜激情视频| 欧美黑人猛猛猛| 欧美日韩国产高清| 欧美精品日韩www.p站| 欧美色图一区二区| 欧美激情第8页| 久久99久久99精品中文字幕| 免费毛片在线播放免费| 欧美日韩视频| 国内成人精品视频| 日本中文字幕在线免费观看| 亚洲欧美久久久| 国产第一区电影| 中文字幕精品一区二| 毛片基地黄久久久久久天堂| 国产欧美精品va在线观看| 一区二区三区精彩视频| 国产在线看一区| 91av免费看| 欧美 日韩 国产 成人 在线 91| 成人动漫一区二区在线| 久久精品国产99精品国产亚洲性色| 天天操天天舔天天干| 久久久夜色精品亚洲| 亚洲精美视频| 亚洲丝袜精品| 五月天欧美精品| 亚洲精品中文字幕无码蜜桃| 国产成人精品一区二区三区视频| 在线不卡一区二区| 欧美xxxxx少妇| 亚洲小说图片| 久热99视频在线观看| 国产精品2020| 日本视频一区二区| 亚洲999一在线观看www| 黄色a在线观看| 欧美激情一区二区三区在线| 在线观看17c| 亚洲天堂导航| 欧美日精品一区视频| 亚洲女则毛耸耸bbw| 美女久久99| 精品国模在线视频| 久久精品国产亚洲av香蕉| 久久国产精品99国产| 91精品在线影院| 四虎精品成人影院观看地址| 成人免费在线视频| 69堂免费视频| 亚洲欧美综合久久久久久v动漫| 精品处破学生在线二十三| 一级片手机在线观看| 午夜日韩av| 国产欧美精品一区二区三区-老狼 国产欧美精品一区二区三区介绍 国产欧美精品一区二区 | 色噜噜日韩精品欧美一区二区| 99精品全国免费观看视频软件| 91精品国产沙发| 国产一区二区视频免费观看| 久久综合一区二区| 成年在线观看视频| av在线一区不卡| 日韩电影免费在线观看中文字幕| 国产人与禽zoz0性伦| 午夜亚洲性色福利视频| 99热99热| 黄色精品在线观看| 欧美亚洲禁片免费| 国产精品300页| 午夜精品婷婷| 91在线中文字幕| 91欧美在线视频| 狠狠躁夜夜躁人人躁婷婷91| 国产成人av片| 亚洲91精品| 国产精品日韩在线播放| 亚州精品国产精品乱码不99按摩| 亚洲美女在线一区| 污污网站免费观看| 免费av一区| 96精品视频在线| 黄色一级a毛片| 亚洲欧美激情在线| 欧美美女一级片| 青青一区二区三区| 国产精品福利观看| 你懂的在线看| 欧美午夜丰满在线18影院| 香港三日本8a三级少妇三级99| 中文在线日韩| 91免费的视频在线播放| 米奇精品一区二区三区| 欧美日韩免费观看一区三区| 国产精品情侣呻吟对白视频| 日本午夜精品视频在线观看| 日韩免费毛片| 久久精品黄色| 日韩视频免费观看| 国产又粗又黄又爽视频| 中文字幕一区二区三区精华液| 中文字幕av不卡在线| 日韩电影一区| 91免费高清视频| 在线中文字幕第一页| 日韩精品中午字幕| 精品小视频在线观看| 不卡的看片网站| 5月婷婷6月丁香| 国产精品免费不| 国产成人一区二| av影片在线看| 88在线观看91蜜桃国自产| 色欲人妻综合网| 懂色av一区二区夜夜嗨| 欧美爱爱视频免费看| 中国av一区| 国产伦精品一区二区三区精品视频| 色网站免费在线观看| 91精品国产91久久综合桃花| 久久久99精品| 91麻豆国产香蕉久久精品| 国产精品人人妻人人爽人人牛| 欧美视频免费| 亚洲iv一区二区三区| 黄频免费在线观看| 亚洲天堂成人在线| 国产毛片毛片毛片毛片毛片| 亚洲国产精品天堂| 90岁老太婆乱淫| 激情伊人五月天久久综合| 欧美激情亚洲天堂| 要久久电视剧全集免费| 91九色国产社区在线观看| 国产经典三级在线| 国产一区二区三区18| 国产黄a三级三级三级| 好吊成人免视频| 国产精品久久久久久成人| 国产成人精品免费在线| 男人舔女人下面高潮视频| 一区二区三区四区在线观看国产日韩 | 日韩免费观看一区二区| 国产亚洲制服色| 69久久精品无码一区二区| 鲁大师影院一区二区三区| 99精品视频网站| 伊人久久大香线蕉综合网蜜芽 | 丰满人妻中伦妇伦精品app| 久久视频在线| 久久精品日产第一区二区三区| 亚洲ww精品| 青青精品视频播放| av在线免费网站| 在线观看国产精品淫| 不卡的日韩av| 欧美人狂配大交3d怪物一区 | 欧美丝袜丝交足nylons图片| 久久这里只有精品免费| 欧美国产禁国产网站cc| 国产国语性生话播放| 国产一区二区三区免费| 青青草精品视频在线观看| 亚洲国产高清一区| 国产高潮呻吟久久久| 欧洲杯什么时候开赛| 国产亚洲精品自在久久| 欧美激情精品| 国产区亚洲区欧美区| 欧美中文字幕精在线不卡| 欧美激情小视频| 免费av不卡| 在线精品高清中文字幕| 九色国产在线观看| 亚洲精品电影网| 男人天堂av网| 欧美变态凌虐bdsm| av手机免费看| 欧美丰满少妇xxxxx高潮对白| 免费在线不卡av| 欧美丝袜美女中出在线| 国产情侣在线视频| 一区二区三区精品视频| 成人免费视频网站入口::| 中文字幕在线一区二区三区| av永久免费观看| 国产丝袜美腿一区二区三区| 久久精品国产亚洲AV熟女| 久久色在线视频| 国产男男chinese网站| 99久久精品费精品国产一区二区| 亚洲麻豆一区二区三区| 国产 欧美在线| 性感美女一区二区三区| 国产精品一卡二| 香蕉视频1024| 国产成人午夜精品影院观看视频 | 日本一区二区综合亚洲| 小早川怜子久久精品中文字幕| 久久一夜天堂av一区二区三区| 丰满大乳奶做爰ⅹxx视频| 2020国产成人综合网| 亚洲成人网在线播放| 久久精品在线观看| 国产免费无遮挡吸奶头视频| 国产区在线观看成人精品| 一级黄色片网址| 国产精品沙发午睡系列990531| 丁香六月激情综合| 亚洲欧美色图小说| 精品无码久久久久久久| 欧美日韩精品在线观看| 亚洲综合图片网| 欧美日韩一区二区三区视频| 亚洲中文字幕在线一区| 欧美一区二区三区公司| 亚洲成人久久精品| yourporn久久国产精品| 色综合伊人色综合网站| 日夜干在线视频| 国产亚洲精品久久久久久| 免费在线观看黄| 久久69精品久久久久久国产越南| 成入视频在线观看| 日韩av免费一区| 中文字幕日本一区| av成人综合网| 国产毛片一区二区三区| 中文字幕综合在线观看| 激情欧美一区| av片中文字幕| 精品一区二区影视| 久久久久久婷婷| 国产亚洲成年网址在线观看| 欧美成人777| 日韩欧美国产激情| 91资源在线视频| 亚洲成人激情图| 在线国产91| 91精品国产高清久久久久久91| 电影久久久久久| 91视频九色网站| 青青久久av| 国产精品夜夜夜爽张柏芝| 亚洲美女黄网| 国产永久免费网站| 99国产精品视频免费观看| 日本伦理一区二区三区| 五月综合激情网| 一级视频在线播放| 日韩国产精品一区| 免费av网站在线观看| 欧美亚州一区二区三区| 国产一区二区三区精品在线观看| 久久久久久久免费| 女人香蕉久久**毛片精品| av免费在线播放网站| 国产suv精品一区二区6| 色欲狠狠躁天天躁无码中文字幕| 亚洲一区二区三区四区五区中文 | 欧美成人午夜影院| 神马久久午夜| 99精品国产高清在线观看| 欧美日韩有码| 久久国产成人精品国产成人亚洲| 韩国三级电影一区二区| 婷婷色一区二区三区| 五月激情丁香一区二区三区| av老司机久久| 伊人av综合网| 国产免费不卡| 久久综合给合久久狠狠色| 欧美精品日韩| 在线播放免费视频| 国产清纯美女被跳蛋高潮一区二区久久w| 国产一级在线观看视频| 91精品一区二区三区久久久久久 | 国产欧美自拍一区| 国产精品一区在线免费观看| 久久精品国产亚洲a| 欧美成人国产精品一区二区| 欧美视频中文字幕在线| 天天色综合久久| 揄拍成人国产精品视频| 裤袜国产欧美精品一区| 精选一区二区三区四区五区| 亚洲视频久久| 久久免费精品国产| 亚洲图片欧美一区| 亚洲成人黄色片| 色综合五月天导航| 亚洲一区二区电影| 国内自拍中文字幕| 国产一区二区日韩精品| 亚洲二区在线播放| 欧美一区二区在线免费播放| 免费大片黄在线| 成人深夜直播免费观看| 香蕉精品视频在线观看| 一二三av在线| 亚洲精品中文字幕在线观看| 国产丝袜在线视频| 欧美老少配视频| 日韩三级不卡| 久久在线中文字幕| 99久久精品免费观看| 久久久国产高清| 亚洲一区av在线播放| 成人全视频免费观看在线看| 亚洲高清资源综合久久精品| 精品一区二区三区在线观看| 亚洲综合网在线| 欧美精品一区二区在线观看| 台湾佬中文娱乐网欧美电影| 精品无码久久久久国产| 久久在线精品| 中国特黄一级片| 制服.丝袜.亚洲.另类.中文 | 亚洲第一福利社区| 亚洲国产精品无码av| 91丨九色丨蝌蚪丨老版| 蜜臀尤物一区二区三区直播| www.亚洲一区| julia中文字幕一区二区99在线| 国产精品www在线观看| 91视频国产观看| 亚洲天堂视频在线| 欧美激情一二三| 九九久久精品| 精品国产鲁一鲁一区二区三区| 亚洲影院免费观看| 日韩精品视频无播放器在线看 | 中文字幕在线2019| 精品激情国产视频| 激情亚洲另类图片区小说区| 国产天堂在线播放| 亚洲三级视频在线观看| 日韩一级免费毛片| 国产精品视频地址| 伊人成年综合电影网| 调教驯服丰满美艳麻麻在线视频| 国产亚洲婷婷免费| 超碰免费在线97| 国产精品免费看久久久香蕉| 国产精品s色| 内射毛片内射国产夫妻| 日韩精品一区国产麻豆| 国产v综合v| 九九热只有这里有精品|