package com.youchain.utils; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Collectors; public class SmartStringUtil { /** * 获取两个列表的相同的元素 * * @param list1 第一个列表 * @param list2 第二个列表 * @return 相同元素 */ public static List getIntersection(List list1, List list2) { return list1.stream() .filter(list2::contains) .collect(Collectors.toList()); } /** * 找到 list1 中存在但 list2 中不存在的元素 * * @param list1 第一个列表 * @param list2 第二个列表 * @return 不同 */ public static List getDifference(List list1, List list2) { Set existingLocationCodesSet = new HashSet<>(list2); return list1.stream() .filter(code -> !existingLocationCodesSet.contains(code)) .collect(Collectors.toList()); } public static boolean containsAllIgnoreCase(List requiredColumns, List headers) { Set headersSet = new HashSet<>(headers); return headersSet.containsAll(requiredColumns); } }