两个集合去重排序从大到小
public static void main(String[] args) { List<Integer> list1 = new ArrayList<Integer>(); list1.add(1); list1.add(3); list1.add(2); list1.add(6); list1.add(9); List<Integer> list2 = new ArrayList<Integer>(); list2.add(1); list2.add(5); list2.add(6); list2.add(8); System.out.println(getListDSC(list1, list2).toString()); }
/** * 去重复两个集合,然后排序 * * @param list1 * @param list2 * @return */ public static List<Integer> getListDSC(List<Integer> list1, List<Integer> list2) { HashSet<Integer> set = new HashSet<>(); for (Integer integer : list1) { set.add(integer); } for (Integer integer : list2) { set.add(integer); } List<Integer> result = new ArrayList<>(set); Collections.sort(result, new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o2 - o1; } }); return result; }
输出结果:[9, 8, 6, 5, 3, 2, 1]