public static boolean CollectionEqual(List<String> list, List<String> list1) { list.sort(Comparator.comparing(String::hashCode)); list1.sort(Comparator.comparing(String::hashCode)); return list.toString().equals(list1.toString()); }
public static void main(String[] args) {
List<String> a = new ArrayList<>();
List<String> b = new ArrayList<>();
a.add("1");
a.add("2");
a.add("3");
a.add("4");
b.add("3");
b.add("4");
b.add("1");
b.add("2");
System.out.println(CollectionEqual(a, b));
// true
List<String> c = new ArrayList<>();
List<String> d = new ArrayList<>();
c.add("1");
c.add("2");
c.add("3");
c.add("4");
d.add("4");
d.add("1");
d.add("2");
System.out.println(CollectionEqual(c, d));
// false
}
跟list集合中元素的顺序无关