Java实现比较两个List集合是否相等
2023-09-27 14:21:32 时间
/** * 比较两个List集合是否相等 * <p>注:1. 如果一个List的引用为<code>null</code>,或者其包含的元素个数为0,那么该List在本逻辑处理中都算作空; * <p>2. 泛型参数E涉及到对象,所以需要确保正确实现了对应对象的<code>equal()</code>方法。 * @param list1 * @param list2 * @return */ public static <E>boolean isListEqual(List<E> list1, List<E> list2) { // 两个list引用相同(包括两者都为空指针的情况) if (list1 == list2) { return true; } // 两个list都为空(包括空指针、元素个数为0) if ((list1 == null && list2 != null && list2.size() == 0) || (list2 == null && list1 != null && list1.size() == 0)) { return true; } // 两个list元素个数不相同 if (list1.size() != list2.size()) { return false; } // 两个list元素个数已经相同,再比较两者内容 // 采用这种可以忽略list中的元素的顺序 // 涉及到对象的比较是否相同时,确保实现了equals()方法 if (!list1.containsAll(list2)) { return false; } return true; }
相关文章
- Java中集合List,Map和Set的差别
- Java判断List集合中的对象是否包含有某一元素
- java redis 入门
- [转]java List和数组相互转换方法
- list of Java class file format major version numbers?
- 坑——java里List的remove方法
- Java集合框架中底层文档的List与Set
- Java集合框架List接口
- Java Set,List,Map 区别
- Java List/Set/Map
- Java集合框架之二:LinkedList源码解析
- Java集合基础知识笔记:List集合(为什么需编写equals方法)、Map集合(equals与hashCode方法)、EnumMap好处、有顺序的TreeMap、读写配置文件Properties、Set集合(不重复的key值)与有顺序的Set、队列、优先队列、双端队列、栈、迭代器
- Java集合篇:List总结
- java基础之集合详解(list,set,map)
- 华为OD机试 - N进制减法(Java) | 机试题+算法思路+考点+代码解析 【2023】
- 【java读书笔记】——Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
- Improving Lock Performance in Java--reference
- 115 Java Interview Questions and Answers – The ULTIMATE List--reference
- 在 Java 中初始化 List 的五种方法
- 'Sort(org.springframework.data.domain.Sort.Direction, java.util.List<java.lang.String>)' has private access in 'org.springframework.data.domain.Sort'
- Java list 获取元素
- Java 从list查询一个对象
- Java list、map、set、vector集合类型中的null值
- Java的集合排序:Collections.sort、list.sort和list.stream().sorted方法详解