集合工具类
时间:2025/7/9 2:54:10来源:https://blog.csdn.net/Andrew_Chenwq/article/details/141788714 浏览次数:0次
集合工具类
-
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;/*** 集合工具类*/
public class CollectionUtils {/****取两个集合的交集* @param listOne 集合1* @param listTwo 集合2* @return java.util.List<java.lang.String>**/public static List<String> getIntersection(List<String> listOne, List<String> listTwo) {List<String> intersectionList = new ArrayList<>();if (CollectionUtil.isNotEmpty(listOne) && CollectionUtil.isNotEmpty(listTwo)) {for (String fileId : listOne) {if (listTwo.contains(fileId)) {intersectionList.add(fileId);}}}return intersectionList;}/****合并两个集合的元素* @param listOne* @param listTwo* @return java.util.List<T>**/public static <T> List<T> mergeLists(List<T> listOne, List<T> listTwo) {List<T> result = new ArrayList<>();if (CollectionUtil.isNotEmpty(listOne)) {result.addAll(listOne);}if (CollectionUtil.isNotEmpty(listTwo)) {result.addAll(listTwo);}return result;}/****去重复* @param list* @return java.util.List<java.lang.String>**/public static List<String> removeDuplicates(List<String> list) {Set<String> set = new HashSet<>(list);return new ArrayList<>(set);}/*** 将allList剔除掉existList后返回* @param allList* @param existList* @return java.util.List<java.lang.String>**/public static List<String> removeExistingElements(List<String> allList, List<String> existList) {List<String> resultList = new ArrayList<>(allList);resultList.removeAll(existList);return resultList;}/*** 获取两个List的并集** @param list1 第一个List* @param list2 第二个List* @return 两个List的并集*/public static <T> List<T> union(List<T> list1, List<T> list2) {Set<T> set = new HashSet<>();set.addAll(list1);set.addAll(list2);return new ArrayList<>(set);}/*** 获取两个List的交集** @param list1 第一个List* @param list2 第二个List* @return 两个List的交集*/public static <T> List<T> intersection(List<T> list1, List<T> list2) {List<T> result = new ArrayList<>();for (T element : list1) {if (list2.contains(element)) {result.add(element);}}return result;}/*** 去除List中的重复元素** @param list 原始List* @return 去除重复元素后的List*/public static <T> List<T> removeDuplicates(List<T> list) {Set<T> set = new HashSet<>();List<T> result = new ArrayList<>();for (T element : list) {if (set.add(element)) {result.add(element);}}return result;}/*** 实体转Map* @param entity 实体* @return map*/public static Map<String, Object> entityToMap(Object entity) {Map<String, Object> map = new HashMap<>(20);try {// 获取实体对象的classClass<?> clazz = entity.getClass();// 遍历实体对象的所有字段for (Field field : clazz.getDeclaredFields()) {// 设置字段可访问field.setAccessible(true);// 获取字段名和字段值,并放入map中String fieldName = field.getName();Object fieldValue = field.get(entity);if ("sex".equalsIgnoreCase(fieldName)) {map.put(fieldName, fieldValue != null && Str.isNotEmpty(fieldValue.toString()) ? ("0".equalsIgnoreCase(fieldValue.toString()) ? "男" : "女") : "未知");} else {map.put(fieldName, fieldValue);}}} catch (IllegalAccessException e) {e.printStackTrace();}return map;}/****将List<String>集合转为以逗号隔开的字符串,如:* '张三', '李四', '王五'* @param list* @return java.lang.String**/public static String convertListToString(List<String> list) {if (CollectionUtil.isEmpty(list)){return "";}return list.stream().map(s -> "'" + s + "'").collect(Collectors.joining(", "));}
}
关键字:集合工具类
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com
责任编辑: