📅  最后修改于: 2023-12-03 15:10:51.560000             🧑  作者: Mango
在Java中,有时我们需要比较两个列表是否相等。下面是一个演示如何检查两个列表是否相等的Java代码片段。
public class CompareLists {
public static boolean compareLists(List<String> list1, List<String> list2) {
if (list1 == null && list2 == null) {
return true;
} else if (list1 == null || list2 == null || list1.size() != list2.size()) {
return false;
} else {
return list1.containsAll(list2) && list2.containsAll(list1);
}
}
public static void main(String[] args) {
// 测试用例1
List<String> list1 = new ArrayList<>(Arrays.asList("a", "b", "c"));
List<String> list2 = new ArrayList<>(Arrays.asList("a", "b", "c"));
boolean isEqual = compareLists(list1, list2);
System.out.println("列表1和列表2是否相等?" + isEqual); // true
// 测试用例2
List<String> list3 = new ArrayList<>(Arrays.asList("a", "b", "c"));
List<String> list4 = new ArrayList<>(Arrays.asList("c", "b", "a"));
isEqual = compareLists(list3, list4);
System.out.println("列表3和列表4是否相等?" + isEqual); // false
// 测试用例3
List<String> list5 = new ArrayList<>(Arrays.asList("a", "b", "c"));
List<String> list6 = new ArrayList<>(Arrays.asList("a", null, "c"));
isEqual = compareLists(list5, list6);
System.out.println("列表5和列表6是否相等?" + isEqual); // false
}
}
在上面的代码中,我们定义了一个名为 compareLists
的静态方法,该方法接受两个 List<String>
参数并返回一个布尔值表示两个列表是否相等。
在该方法中,我们首先检查两个列表是否都为 null
,如果是,则它们相等。如果其中一个列表为 null
或者两个列表的大小不同,我们可以直接返回 false
,因为它们显然不相等了。
否则,我们使用 containsAll
方法检查每个列表是否包含另一个列表中的所有元素。如果两个列表互相包含,则它们相等。
在上面的代码中,我们使用了三个测试用例来演示如何使用 compareLists
方法检查两个列表是否相等。您可以使用您自己的测试数据来测试该方法。
通过使用上述代码片段,您可以在Java中轻松地检查两个列表是否相等。此方法非常简单,只需要执行一次条件检查并使用 containsAll
方法进行比较即可。