Straem流判断两个对象list的值
时间: 2023-08-21 16:02:49 浏览: 165
你可以使用Java 8的Stream API来判断两个对象List的值是否相等。假设你有两个包含Person对象的List,你可以按照以下方式进行比较:
```java
List<Person> list1 = Arrays.asList(
new Person("Alice", 25),
new Person("Bob", 30),
new Person("Charlie", 35)
);
List<Person> list2 = Arrays.asList(
new Person("Alice", 25),
new Person("Bob", 30),
new Person("Charlie", 35)
);
boolean isEqual = IntStream.range(0, list1.size())
.allMatch(i -> list1.get(i).equals(list2.get(i)));
if (isEqual) {
System.out.println("The two lists are equal.");
} else {
System.out.println("The two lists are not equal.");
}
```
在这个示例中,我们假设你定义了一个名为Person的类,该类具有name和age属性。我们使用`IntStream.range`方法创建一个整数流,该流包含了两个List的索引。然后,我们使用`allMatch`方法检查两个List中是否每个元素都相等。在这种情况下,我们重写了Person类的`equals`方法来比较对象的属性是否相等。
请注意,当比较对象时,你需要确保在对象类中合理地实现了`equals`方法和`hashCode`方法,以便正确比较对象的属性。
阅读全文