List<String> list1 = new ArrayList<>(); list1.add("zhangsan"); list1.add("lisi"); list1.add("wangwu"); List<String> list2 = new ArrayList<>(); list2.add("liuyi"); list2.add("wangwu"); list2.add("123"); list2.add("str1"); list2.add("zhangsan"); list2.add("str2"); list2.add("lisi"); // list2 集合 按照 list1 集合排序 list2.sort(new Comparator<String>() { @Override public int compare(String o1, String o2) { int i1 = list1.indexOf(o1); i1 = i1 == -1 ? Integer.MAX_VALUE : i1; int i2 = list1.indexOf(o2); i2 = i2 == -1 ? Integer.MAX_VALUE : i2; return i1 - i2; } }); System.out.println("list2 = " + list2);
结果