大数据集合求交集_Java8 实现ArrayList求交集并集差集
生活随笔
收集整理的這篇文章主要介紹了
大数据集合求交集_Java8 实现ArrayList求交集并集差集
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
本文借助Java8的Stream API完成ArrayList集合運(yùn)算:求交集、并集和差集!
public class CollectionUtil {/*** 判斷為空*/public static boolean isEmpty(Collection> collection) {return (collection == null || collection.isEmpty());}/*** 判斷非空*/public static boolean isNotEmpty(Collection> collection) {return !isEmpty(collection);}/*** 求交集** @param masterList 主數(shù)據(jù)列表* @param slaveList 從數(shù)據(jù)列表* @param * @return*/public static List getIntersection(List masterList, List slaveList) {return masterList.stream().filter(slaveList::contains).collect(Collectors.toList());}/*** 求差集** @param masterList 主數(shù)據(jù)列表* @param slaveList 從數(shù)據(jù)列表* @param * @return*/public static List getDifferenceSet(List masterList, List slaveList) {return masterList.stream().filter(t -> !slaveList.contains(t)).collect(Collectors.toList());}/*** 求并集** @param masterList 主數(shù)據(jù)列表* @param slaveList 從數(shù)據(jù)列表* @param * @return*/public static List getUnionSet(List masterList, List slaveList) {List list = new ArrayList<>();list.addAll(masterList);list.addAll(slaveList);return list.stream().distinct().collect(Collectors.toList());}public static void main(String[] args) {List list1 = new ArrayList<>();list1.add(1);list1.add(2);list1.add(3);List list2 = new ArrayList<>();list2.add(3);list2.add(4);list2.add(2);System.out.println(" ========== 求交集 ========== ");List intersection = CollectionUtil.getIntersection(list1, list2);intersection.forEach(System.out::println);System.out.println(" ========== 求差集 ========== ");List differenceSet = CollectionUtil.getDifferenceSet(list1, list2);differenceSet.forEach(System.out::println);System.out.println(" ========== 求并集 ========== ");List unionSet = CollectionUtil.getUnionSet(list1, list2);unionSet.forEach(System.out::println);}}
以上代碼完全可直接復(fù)制至IDE運(yùn)行調(diào)試!
總結(jié)
以上是生活随笔為你收集整理的大数据集合求交集_Java8 实现ArrayList求交集并集差集的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 观易先生品三国
- 下一篇: mac上java文件如何编译_如何在Ma