List.equals和CollectionUtils.isEqualCollection的区别

  1. List 的 equals() .首先比较两个列表大小是否相等。如果大小相等再逐个比较元素是否相等
java 复制代码
<dependency>
    <groupId>commons-collections</groupId>
    <artifactId>commons-collections</artifactId>
    <version>3.2.2</version>
</dependency>
csharp 复制代码
# Person未覆写了equals
Person per1 = new Person("name1");
Person per2 = new Person("name2");
List<Person> list1 = new ArrayList<Person>();
list1.add(per1);
list1.add(per2);
Person per3 = new Person("name1");
Person per4 = new Person("name2");
List<Person> list2 = new ArrayList<Person>();
list2.add(per3);
list2.add(per4);

System.out.println(list1.equals(list2)); // false
System.out.println(CollectionUtils.isEqualCollection(list1, list2)); //false


# Person加@Data覆写了equals
Person per1 = new Person("name1");
Person per2 = new Person("name2");
List<Person> list1 = new ArrayList<Person>();
list1.add(per1);
list1.add(per2);
Person per3 = new Person("name1");
Person per4 = new Person("name2");
List<Person> list2 = new ArrayList<Person>();
list2.add(per3);
list2.add(per4);

System.out.println(list1.equals(list2)); // true
System.out.println(CollectionUtils.isEqualCollection(list1, list2)); //true

参考

List.equals和CollectionUtils.isEqualCollection的区别

相关推荐
带多刺的玫瑰9 小时前
Leecode#9刷题之回文数
数据结构·算法
萌动的小火苗10 小时前
数据结构面试题【无答案】
c语言·开发语言·数据结构·链表
tianyu23412 小时前
HashMap 灵魂 30 问:从数据结构到红黑树,从扩容到 ConcurrentHashMap,一篇彻底通关
数据结构·hashmap·hashset·linkedhashmap‌
_Narcissus_15 小时前
分治&递归
数据结构·c++·笔记·算法·leetcode·递归·分治
不灭的黄金瞳12318 小时前
C语言实现单链表
c语言·数据结构
这是程序猿20 小时前
深入剖析Java HashMap:底层原理、数据结构与核心机制全解析
java·开发语言·数据结构
HanhahnaH21 小时前
各数据结构操作的时间复杂度汇总
数据结构·算法
_wxd66621 小时前
排序-堆排序(Heap Sort)
数据结构
间歇性努力持续性发呆的野生快乐选手1 天前
二分模板(整型,浮点型)
数据结构·c++·算法