久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

java兩個對象集合取差集的方法是什么

152次閱讀
沒有評論

共計 791 個字符,預計需要花費 2 分鐘才能閱讀完成。

在 Java 中,可以使用以下幾種方式來取兩個對象集合的差集:

  1. 使用循環遍歷方式:遍歷第一個集合,檢查每個元素是否存在于第二個集合中,如果不存在則加入差集集合中。這種方法的時間復雜度為 O(n^2),其中 n 為集合的大小。
List list1 = new ArrayList();
List list2 = new ArrayList();
List difference = new ArrayList();
for (Object obj1 : list1) {
boolean found = false;
for (Object obj2 : list2) {if (obj1.equals(obj2)) {
found = true;
break;
}
}
if (!found) {difference.add(obj1);
}
}
  1. 使用 Java 8 的 Stream API:將兩個集合轉換為 Stream,使用 filter 方法篩選出不在第二個集合中的元素,并使用 collect 方法將結果收集到差集集合中。這種方法的時間復雜度為 O(n+m),其中 n 和 m 分別為兩個集合的大小。
List difference = list1.stream()
.filter(obj -> !list2.contains(obj))
.collect(Collectors.toList());
  1. 使用 Apache Commons Collections 庫:使用 CollectionUtils 類的 subtract 方法,將第一個集合和第二個集合作為參數傳入,得到差集集合。這種方法的時間復雜度為 O(n+m),其中 n 和 m 分別為兩個集合的大小。
List difference = (List) CollectionUtils.subtract(list1, list2);

需要注意的是,如果集合中的元素是自定義類的對象,需要重寫對象的 equals 方法和 hashCode 方法,以便正確比較對象是否相等。

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-21發表,共計791字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
免責聲明:本站分享資源部分來源互聯網,僅供學習交流,商業用途請購買正版,否則版權糾紛由用戶承擔,丸趣TV不承擔連帶責任。如有侵權請聯系博主我們盡快刪除處理!
Copyright @ 2014-2023| 丸趣TV All rights reserved.Theme By Puock. 豫ICP備16006851號-5
主站蜘蛛池模板: 蕉岭县| 建湖县| 本溪| 仲巴县| 高安市| 汉寿县| 云龙县| 辽中县| 乃东县| 湘乡市| 塘沽区| 重庆市| 平度市| 波密县| 政和县| 西乡县| 孟津县| 娱乐| 利津县| 卫辉市| 徐闻县| 富民县| 花莲市| 保亭| 贡觉县| 波密县| 丹棱县| 璧山县| 泉州市| 阜宁县| 柳林县| 井陉县| 沐川县| 哈尔滨市| 鸡西市| 凌云县| 保靖县| 乌恰县| 永善县| 齐齐哈尔市| 龙游县|