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
    }
}
相关推荐
kakakahahahaha2 小时前
Windows笔记本重装系统的4种路径和风险边界
windows·电脑·笔记本电脑·内容运营·软件需求·重装系统
自动化监测Learner5 小时前
Windows 自带搜索太慢?Everything 安装与使用指南,全盘文件秒搜
windows·everything
天机玄正9 小时前
云运维高阶二:CLI 调用 API (白名单追随)
windows·云原生
您^_^9 小时前
DeepSeek-Harness v0.1.5-alpha.1更新后旧会话打不开?5 步抢救 8MB 会话照抄
人工智能·windows·个人开发·deepseek v4 pro·deepseekharness
正仪10 小时前
systemd 是什么?
linux·运维·windows
小溪学编程10 小时前
Java ListIterator 接口详解:双向遍历与列表修改的利器
java·开发语言·windows
2601_9623649711 小时前
没有 TPM2.0,还能用 Windows Hello 摄像头吗?
windows·安全·电脑
江湖人称菠萝包12 小时前
【Windows】《深入浅出Windows API程序设计:编程基础篇》笔记-Chapter9-对话框
windows·笔记
问简13 小时前
Windows11自定义分区大小安装系统
windows
sukalot16 小时前
windows 驱动实例分析系列: HidHide驱动分析-HidHideClient 篇(中)
windows·驱动开发