比较两个List里的值是否相等
来源:互联网 发布:医疗器械销售公司知乎 编辑:程序博客网 时间:2024/06/09 00:07
首相比较两个list是否相等,这两个list的size一定要相等,这个是先决条件
然后将这个两个list先排序一下,以方便后期比较
这里就需要用到Collections类里的sort排序方法
public static <T extends Comparable<? super T>> void sort(List<T> list) {
Object[] a = list.toArray();
Arrays.sort(a);
ListIterator<T> i = list.listIterator();
for (int j=0; j<a.length; j++) {
i.next();
i.set((T)a[j]);
}
}
下面写一个工具类
/** * @param firstList 第一个list参数 * @param scList 第二个list参数 * @return boolean 相等为true,否则为false */ public static <T extends Comparable<T>> boolean twoListCompareUtil(List<T> firstList, List<T> scList) { //首先判断这两个list的大小是否相等 if(firstList.size() != scList.size()){ return false; } //如果两个list大小相等,其中可能为0,所以排除为0的这种情况 if(firstList.size()>0 && scList.size()>0){ //如果相等,对两个list分别排序以方便后期比较 Collections.sort(firstList); Collections.sort(scList); //循环遍历两个几个取值比较是否相同,不同则返回false for(int i=0;i<firstList.size();i++){ //取值比较是否相同 if(!firstList.get(i).equals(scList.get(i))){ return false; } } return true; }else{ return false; } }
下面写一个测试类:
public static void main(String[] args) { List<Integer> list1 = new ArrayList<>(); list1.add(1); list1.add(2); list1.add(3); list1.add(4); List<Integer> list2 = new ArrayList<>(); list2.add(3); list2.add(4); list2.add(2); list2.add(1); System.out.println("list1, list2比较结果如下:"); System.out.println(twoListCompareUtil(list1, list2)); List<Integer> list3 = new ArrayList<>(); list1.add(1); list1.add(2); list1.add(3); list1.add(5); List<Integer> list4 = new ArrayList<>(); list2.add(3); list2.add(4); list2.add(2); list2.add(1); System.out.println("list3, list4比较结果如下:"); System.out.println(twoListCompareUtil(list3, list4)); }
测试结果如下:
list1, list2比较结果如下:truelist3, list4比较结果如下:false
阅读全文
1 0
- 比较两个List里的值是否相等
- 比较两个 List 的值是否相等
- Java 比较两个 List 的值是否相等
- 比较两个list集合的值是否相等
- 关于直接比较两个对象是否相等或则说List集合里是否包含某个对象的问题
- 比较两个Integer的值是否相等
- 比较两个list集合是否相等
- list比较是否相等
- Javascript如何比较两个Object/Array的值是否相等
- 比较两个Integer的int值是否相等
- 比较2个list值是否相等的方法
- 比较两个List是否相等(相同元素)
- 比较两个字符串是否相等?
- 比较两个数字是否相等
- 比较两个对象是否相等
- 比较两个字符串是否相等
- 比较两个UIImage是否相等
- 比较两个vector是否相等
- GKSphereObstacle
- bzoj 2839: 集合计数 排列组合+容斥原理
- Json工具类--使用1.x版本Jackson实现json的序列化和反序列化
- Error:Execution failed for task ':app:processDebugManifest'. > com.android.manifmerger.ManifestMerge
- [Good]Python必会的单元测试框架 —— unittest
- 比较两个List里的值是否相等
- Linux命名--kill和pkill命令的区别
- Framework学习(三)SystemServer进程启动过程
- Codeforces 847 H. Load Testing (技巧)
- QTableView和QTableWidget翻页功能实现
- Bootstrap-折叠方法
- 最短命10种活法
- 哈弗曼树
- [分享]3个中文应用教程告诉你Micro:bit可以做什么