package com.cj.demo.utils;/**
* @author jhc
* @create 2023-04-14-17:25
*/
/**
*@BelongsProject: springboot
*@BelongsPackage: com.cj.demo.utils
*@Author: jhc
*@CreateTime: 2023-04-14 17:25
*@Description: TODO
*@Version: 1.0
*/
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class ListUtils {
/**
* 计算两个List的交集
*/
public static <T> List<T> intersection(List<T> list1, List<T> list2) {
Set<T> set1 = new HashSet<>(list1);
Set<T> set2 = new HashSet<>(list2);
set1.retainAll(set2);
return new ArrayList<>(set1);
}
/**
* 计算两个List的合集
*/
public static <T> List<T> union(List<T> list1, List<T> list2) {
Set<T> set = new HashSet<>(list1);
set.addAll(list2);
return new ArrayList<>(set);
}
/**
* 计算两个List的差集
*/
public static <T> List<T> difference(List<T> list1, List<T> list2) {
List<T> result = new ArrayList<T>();
for (T value : list1) {
if (!list2.contains(value)) {
result.add(value);
}
}
for (T value : list2) {
if (!list1.contains(value)) {
result.add(value);
}
}
return result;
}
}
ListUtils工具类
最新推荐文章于 2023-11-15 13:18:15 发布