package com.panzhihua.common.utlis; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Author: llming * @Description: 获取不同两个list不同元素 */ public class DifferentLongListUtil { public static List getDiffrent(List list1, List list2) { Map map = new HashMap(list1.size() + list2.size()); List diff = new ArrayList(); List maxList = list1; List minList = list2; if (list2.size() > list1.size()) { maxList = list2; minList = list1; } for (Long Long : maxList) { map.put(Long, 1); } for (Long Long : minList) { Integer cc = map.get(Long); if (cc != null) { map.put(Long, ++cc); continue; } map.put(Long, 1); } for (Map.Entry entry : map.entrySet()) { if (entry.getValue() == 1) { diff.add(entry.getKey()); } } return diff; } public static void main(Long[] args) { // List Longs1 = Arrays.asList(1L, 2L, 2L, 3L, 4L); // List Longs2 = Arrays.asList(1L, 2L, 5L, 6L, 4L); // List diffrent = getDiffrent(Longs1, Longs2); // System.out.println(diffrent); } }