Java使用流对比两个list中的属性
时间: 2024-05-13 22:17:00 浏览: 77
基于java中两个对象属性的比较
可以使用Java 8中新增的流(Stream) API来比较两个List中的属性。具体步骤如下:
1. 使用stream()方法将List转换成流对象。
2. 使用map()方法将流中的元素映射为目标属性。
3. 使用collect()方法将流中的元素收集到一个新的List中。
4. 使用equals()方法比较两个List是否相等。
下面是一个示例代码:
```java
List<User> list1 = new ArrayList<>();
list1.add(new User("Tom", 20));
list1.add(new User("Jack", 30));
List<User> list2 = new ArrayList<>();
list2.add(new User("Tom", 20));
list2.add(new User("Jack", 25));
List<Integer> ages1 = list1.stream().map(User::getAge).collect(Collectors.toList());
List<Integer> ages2 = list2.stream().map(User::getAge).collect(Collectors.toList());
System.out.println(ages1.equals(ages2)); // 输出false
```
这段代码通过将List中的User对象映射为其年龄属性,然后比较两个新生成的List是否相等来判断两个List中的属性是否相同。
阅读全文