可以使用 Java 8 中新增的 Stream API 来比较两个 List 中的值是否一致。

首先,将两个 List 转换为 Stream 对象,然后使用 equals 方法比较它们的值是否相等。代码如下:

List<String> list1 = Arrays.asList('a', 'b', 'c');
List<String> list2 = Arrays.asList('a', 'b', 'c');

boolean isEqual = list1.stream().sorted().collect(Collectors.joining())
                .equals(list2.stream().sorted().collect(Collectors.joining()));

System.out.println('两个 List<String> 是否相等:' + isEqual);

这里使用了 sorted() 方法来对 Stream 中的元素进行排序,然后使用 joining() 方法将排序后的元素连接成一个字符串,最后使用 equals() 方法比较两个字符串是否相等。

注意,如果两个 List 中的元素顺序不同,但元素值相同,也可以使用上述方法比较它们是否相等。

另外,如果两个 List 中包含重复元素,也需要使用去重操作,否则比较结果可能不准确。可以使用 distinct() 方法来去重,代码如下:

List<String> list1 = Arrays.asList('a', 'b', 'c', 'a');
List<String> list2 = Arrays.asList('a', 'b', 'c');

boolean isEqual = list1.stream().distinct().sorted().collect(Collectors.joining())
                .equals(list2.stream().distinct().sorted().collect(Collectors.joining()));

System.out.println('两个 List<String> 是否相等:' + isEqual);

这里使用了 distinct() 方法去重,然后再进行排序和连接操作。

Java 比较两个 List<String> 中的值是否一致:使用 Stream API

原文地址: https://www.cveoy.top/t/topic/oXGs 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录