判断两个List集合是否相等

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集合中元素的顺序无关

posted @ 2021-07-27 16:09  谢世林  阅读(1275)  评论(0编辑  收藏  举报