java使用泛型判断两个List是否相等

复制代码
package com.ping;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class TestMain {

    public static  <T extends Comparable<T>> boolean isEqualList(List<T> list1, List<T> list2){
        if(list1 == null && list2 == null) {
            return true;
        }
        if(list1 == null || list2 == null) {
            return false;
        }
        if(list1.size() != list2.size()) {
            return false;
        }
        list1 = new ArrayList<T>(list1);
        list2 = new ArrayList<T>(list2);

        Collections.sort(list1);
        Collections.sort(list2);

        return list1.equals(list2);
    }


    public static void main(String[] args) {
        List<Integer> list1 = Arrays.asList(1, 2, 3, 3, 4);
        List<Integer> list2 = Arrays.asList(3, 2, 1, 4, 3);
        List<Integer> list3 = Arrays.asList(1, 2, 3, 4);
        List<Integer> list4 = Arrays.asList(1, 2, 3, 4, 5);

        List<String> list5 = Arrays.asList("张三","李四", "王五", "赵六");
        List<String> list6 = Arrays.asList("张三","李四", "李四","王五");

        System.out.println(isEqualList(list1, list2)); // true
        System.out.println(isEqualList(list1, list3)); // false
        System.out.println(isEqualList(list1, list4)); // false

        System.out.println(isEqualList(list5, list6)); // false
    }
}
相关推荐
没事别学JAVA1 小时前
使用Python编写Windows系统服务管理脚本,主要用于管理mysql、postgresql等服务
windows·python
啊啊啊六子8 小时前
windows下安装wsl的ubuntu,同时配置深度学习环境
windows·深度学习·ubuntu
码农阿豪11 小时前
Windows系统电脑安装TightVNC服务端结合内网穿透实现异地远程桌面
windows
希忘auto15 小时前
详解登录MySQL时出现SSL connection error: unknown error number错误
windows·mysql
paj12345678915 小时前
JDK1.8 Stream流使用
java·windows
狐凄18 小时前
Python一些项目bug
windows·python·bug
songyuc18 小时前
【测试】对比 ctypes vs pywin32 在捕获键鼠事件上的灵敏度和响应速度
windows
樱花DR18 小时前
mfc100u.dll 文件损坏问题:一步步解决法
windows·经验分享
purples.18 小时前
上传本地文件到GitHub
windows·git·github