精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产精品电影观看| 欧美精品一区二区久久久| 中文字幕精品—区二区日日骚| 97人妻精品视频一区| 小说区亚洲自拍另类图片专区| 制服丝袜在线91| 国产a级片网站| 国产福利在线看| 国产一区二区美女诱惑| 91成人福利在线| 麻豆网址在线观看| 欧美91在线| 欧美日韩成人综合在线一区二区| 日韩精品一区二区在线视频| 天堂a中文在线| 激情成人综合网| 欧美亚洲国产成人精品| 久久免费看少妇高潮v片特黄| 欧美日韩一区二区三区四区不卡 | 在线看福利67194| 超碰人人cao| 精品欧美日韩精品| 亚洲一区自拍偷拍| 亚洲欧美日韩精品在线| 香蕉av在线播放| 国产精品一区免费视频| 国产不卡av在线| 国产精品30p| 亚洲天堂免费| 一区二区三区高清国产| 欧美精品黑人猛交高潮| 三级欧美日韩| 欧美妇女性影城| 亚洲黄色a v| 天堂电影一区| 亚洲福利视频一区二区| 福利在线小视频| 免费成人黄色| 国产精品人妖ts系列视频| 女女同性女同一区二区三区91| 午夜老司机福利| 精品系列免费在线观看| 国产精品爱久久久久久久| 日韩不卡视频在线| 亚洲美女色禁图| 欧美第一淫aaasss性| 久久国产美女视频| 91精品一区二区三区综合| 综合久久五月天| av电影在线不卡| 精品一区三区| 亚洲男人第一av网站| av2014天堂网| 欧美精品中文| 亚洲精品国偷自产在线99热| 久久久久亚洲AV成人网人人小说| 欧美一级大片在线视频| 91精品国产麻豆国产自产在线| 亚洲一级片网站| 欧美视频第一| 欧美欧美欧美欧美| 不卡中文字幕在线观看| 91久久青草| 欧美高清激情brazzers| 宇都宫紫苑在线播放| 亚洲国产欧美在线观看| 精品欧美乱码久久久久久 | 丁香社区五月天| 日韩经典一区二区| 国产精品免费久久久| 在线免费观看av片| 国产最新精品免费| 成人免费视频观看视频| 神马久久久久久久久久| 96av麻豆蜜桃一区二区| 欧美精品与人动性物交免费看| 秋霞av在线| 国产精品丝袜黑色高跟| 一道本在线观看视频| 日本h片在线观看| 精品国产91久久久久久老师| 黄色片视频在线播放| 国产a亚洲精品| 日韩一区二区免费电影| 无码一区二区精品| 国产伦一区二区三区| 久久精品国产清自在天天线| 久久精品免费在线| 久久久人人人| 成人伊人精品色xxxx视频| 蜜桃91麻豆精品一二三区| 久久综合中文字幕| 懂色av一区二区三区四区五区| 国产蜜臀一区二区打屁股调教| 欧美视频在线看| 色播五月综合网| av不卡一区| 在线观看国产精品日韩av| 久草免费新视频| 久久精品天堂| 97人人香蕉| 黄色软件在线观看| 亚洲综合视频网| av丝袜天堂网| jizz性欧美23| 色婷婷av一区二区三区久久| 国产精品theporn动漫| 欧美aⅴ一区二区三区视频| 波多野结衣久草一区| 国产网站在线播放| 亚洲电影中文字幕在线观看| 中文字幕 91| 少妇精品导航| 欧美第一黄网免费网站| 成人黄色片在线观看| 成年人国产精品| 婷婷视频在线播放| 国产私拍福利精品视频二区| 日韩av在线导航| 青青草手机视频在线观看| 日本美女一区二区三区| 精品国产一区二区三区四区vr| 伦xxxx在线| 激情av一区二区| 少妇性l交大片7724com| 日韩激情免费| 日本精品久久久| 无码精品视频一区二区三区| 亚洲精品视频在线观看免费| 污视频网站观看| 国产欧美日韩视频在线| 2020国产精品视频| 免费av一级片| 亚洲国产日韩综合久久精品| 91网址在线观看精品| 日韩精品诱惑一区?区三区| 欧美壮男野外gaytube| 天堂中文在线官网| 亚洲一本大道在线| 午夜诱惑痒痒网| 99久久亚洲精品蜜臀| 国产精品久久久久久久久久久久久久| 天堂а√在线8种子蜜桃视频| 午夜成人免费视频| 日本国产在线视频| 伊人影院久久| 国产精品推荐精品| 99色在线观看| 日韩成人在线视频观看| 欧美啪啪小视频| 久久夜色精品国产欧美乱极品| 国内性生活视频| 美女久久久久| 国产精品成人aaaaa网站| 国产一级网站视频在线| 91高清在线观看| 女人十八毛片嫩草av| 蜜桃一区二区三区在线| 一级日韩一区在线观看| 亚洲国产精选| 欧美成人高清视频| 成人午夜视频一区二区播放| 亚洲成人午夜影院| 亚洲精品理论片| 日韩精品成人一区二区在线| 亚洲一区二区三区免费看| 日韩av黄色| 久久777国产线看观看精品| 俄罗斯嫩小性bbwbbw| 婷婷国产在线综合| 波多野结衣一本| 日韩avvvv在线播放| 在线观看成人av| 亚洲1区在线| 欧美一区二区.| 午夜在线观看视频| 日韩欧美亚洲国产另类| 99久在线精品99re8热| 久久久精品免费免费| 日日噜噜夜夜狠狠| 午夜欧美精品久久久久久久| 精品999在线观看| 91天天综合| 久久精品视频网站| 天堂中文在线资源| 欧美视频在线一区| 久久久久99精品成人片毛片| 97成人超碰视| 欧美视频国产视频| 野花国产精品入口| 亚洲一区二区在| 国产精品宾馆| 国产欧美 在线欧美| 美女精品导航| 在线观看欧美成人| 免费av网站观看| 欧美精品久久久久久久多人混战| 免费在线视频观看| 国产性天天综合网| 91超薄肉色丝袜交足高跟凉鞋| 日韩国产成人精品| 国产高清av在线播放| 北条麻妃国产九九九精品小说| 99久久国产免费免费| 搜成人激情视频| 国内精品国产三级国产在线专| 福利在线观看| 亚洲精品电影网在线观看| 亚洲天堂手机版| 懂色av影视一区二区三区| 天天综合天天做| 欧美国产一区二区| 美女又爽又黄免费| 国产精品自产自拍| 亚洲国产成人va在线观看麻豆| 日韩一级大片| 91极品美女在线| 玖玖爱这里只有精品| 国产亚洲美州欧州综合国| 无码人妻一区二区三区一| 蜜臀av国产精品久久久久| 日日摸日日碰夜夜爽无码| 婷婷亚洲五月色综合| 欧美黑人3p| 超碰精品在线| 999国内精品视频在线| 韩国精品视频在线观看| 国产91在线播放九色快色| 高清毛片在线观看| 欧美极品少妇与黑人| caopeng在线| 日韩一区二区三区在线播放| 岛国在线视频免费看| 亚洲视频国产视频| 日韩av免费在线| 深夜福利免费在线观看| 日韩免费一区二区三区在线播放| 91成人国产综合久久精品| 在线观看网站黄不卡| 无码人妻aⅴ一区二区三区有奶水| 性感美女极品91精品| 岛国毛片在线观看| 怡红院av一区二区三区| 国产中文av在线| 综合激情成人伊人| 欧美色视频一区二区三区在线观看| 国产午夜精品美女毛片视频| 亚洲av无码国产精品麻豆天美| 99久久综合色| 无码国产69精品久久久久网站 | 欧美一级淫片videoshd| 国产高清视频色在线www| 久久久久久久成人| 搞黄网站在线看| 孩xxxx性bbbb欧美| 91吃瓜在线观看| 91精品国产91久久久久福利| 2019中文字幕在线电影免费| 国模吧一区二区三区| 国产在线天堂www网在线观看| 海角国产乱辈乱精品视频| www.youjizz.com在线| 欧美在线亚洲在线| 欧美一区国产| 国产欧美一区二区三区久久| 先锋影音网一区二区| 91在线无精精品一区二区| 亚洲国产视频二区| 好吊妞www.84com只有这里才有精品| 久久国产精品免费精品3p| 免费影院在线观看一区 | 欧美日韩在线视频观看| 给我免费观看片在线电影的| 久久久久久**毛片大全| 天天干天天舔天天操| 亚洲私人黄色宅男| 日本天堂在线视频| 91国偷自产一区二区使用方法| 中文字幕 视频一区| 91精品国产一区二区三区香蕉| 囯产精品久久久久久| 亚洲欧美国产日韩天堂区| 亚洲成a人v欧美综合天堂麻豆| 欧美成人午夜视频| 亚洲欧美韩国| 91精品国产综合久久香蕉的用户体验 | 久久99国产综合精品女同| 18aaaa精品欧美大片h| 日韩免费av在线| 自拍偷拍欧美日韩| 国产美女精品久久久| 国产精品羞羞答答在线观看| 男插女免费视频| 午夜一区不卡| 日韩av影视大全| 337p粉嫩大胆噜噜噜噜噜91av| 国产免费久久久久| 狠狠躁夜夜躁久久躁别揉| 亚洲一区二区视频在线播放| 精品sm在线观看| 日本精品在线| 奇米4444一区二区三区 | 你懂的网址一区二区三区| 久久久久国产| 亚洲国产精品毛片av不卡在线| 国产精品99久久久久| 亚洲欧美va天堂人熟伦| 午夜影院在线观看欧美| 91麻豆国产在线| 亚洲片在线观看| av在线小说| 91久久久久久久久久久| 免费看成人吃奶视频在线| 欧美一区二区视频在线播放| 久久精品国产网站| 白丝女仆被免费网站| 亚洲一区二区不卡免费| 国产不卡一区二区在线观看 | 日韩伦理在线电影| 97成人超碰免| 66精品视频在线观看| 亚洲一区免费看| 日韩精品免费视频人成| yy1111111| 亚洲国产成人tv| 99精品免费观看| 日韩中文字幕不卡视频| 裤袜国产欧美精品一区| 国产尤物91| 亚洲午夜视频| 伊人av在线播放| 亚洲人精品一区| 亚洲视频一区二区三区四区| 亚洲欧洲中文天堂| 欧美成人免费电影| 久久久久se| 99人久久精品视频最新地址| 国产精品99精品无码视亚| 亚洲欧美日韩在线| 国产喷水吹潮视频www| www.日韩免费| 日本黄色成人| 中文字幕一区二区三区在线乱码| 免费av成人在线| 黄色裸体一级片| 精品视频1区2区3区| 幼a在线观看| 国产精品美女www| 精品久久91| 91视频免费版污| 欧美韩国日本不卡| 依依成人在线视频| 日韩在线视频观看| 色综合久久久| 激情视频小说图片| 国产另类ts人妖一区二区| 欧美日韩精品在线观看视频 | 红桃av永久久久| 日本中文字幕一区二区有码在线| 97超级碰碰碰久久久| 亚洲桃色综合影院| 色诱视频在线观看| 欧美国产精品一区| 一本色道久久综合无码人妻| 久久综合亚洲社区| 伊人精品久久| 久久综合九色综合88i| 久久先锋影音av| 中文在线a天堂| 蜜月aⅴ免费一区二区三区| 99久久香蕉| 男人透女人免费视频| 国产精品网站在线播放| 国产极品999| 欧美在线观看网址综合| 成人一二三区| 精品人妻一区二区乱码| 婷婷综合另类小说色区| 精品电影在线| 91麻豆国产语对白在线观看| 影音先锋一区| 欧美黄色高清视频| 欧美一级一区二区| 成人欧美大片| 国产欧美综合一区| 91色九色蝌蚪| 国产日韩一级片| 欧美在线观看网站| 亚洲精品电影| 爱爱的免费视频| 4438x亚洲最大成人网| 国内精彩免费自拍视频在线观看网址| 欧美在线一二三区| 国产精品99久| 在线免费观看国产精品| 欧美不卡视频一区发布| 国产精品入口久久| 少妇丰满尤物大尺度写真| 狠狠躁天天躁日日躁欧美| www国产在线观看 |