首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将数组列表的相等性与现代Java进行比较?

如何将数组列表的相等性与现代Java进行比较?
EN

Stack Overflow用户
提问于 2016-02-15 19:33:26
回答 5查看 13.4K关注 0票数 70

我有两个数组列表。

在不使用外部库的情况下,我如何轻松地将这些与Java 8及其特性的等价性进行比较?我正在寻找一个“更好的”(更高级别,更短,更高效)的解决方案,而不是像这样的暴力代码(未经测试的代码,可能包含打字错误等,不是问题的重点):

boolean compare(List<String[]> list1, List<String[]> list2) 
{
    // tests for nulls etc omitted
    if(list1.size() != list2.size()) {
       return false;
    }
    for(i=0; i<list1.size(); ++i) {
        if(!Arrays.equals(list1.get(i), list2.get(i))) {
            return false;
        }
    }
    return true;
}

或者,如果没有更好的方法,这也是一个有效的答案。

额外的好处:如果Java 9提供了Java 8所能提供的更好的方式,请随时提及它。

编辑:在看了评论之后,看到这个问题已经变得相当热门,我认为"better“应该包括首先检查所有数组的长度,然后再检查数组内容,因为如果内部数组很长,这可能会更快地找到不等式。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35408290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档