但是在刚才 我需要用id去重时候,你告诉我使用distinct(ShenTongMain::getId)
时间: 2024-03-25 21:40:17 浏览: 67
django queryset 去重 .distinct()说明
非常抱歉,我犯了一个错误。对于基本类型的属性,可以使用`ShenTongMain::getId`或者`(ShenTongMain st) -> st.getId()`来指定去重的key。但是对于非基本类型的属性,我们需要使用`Objects::equals`或者`(o1, o2) -> Objects.equals(o1.getName(), o2.getName())`来指定比较逻辑。
因此,如果你要根据`ShenTongMain`对象的`id`属性进行去重,可以使用以下代码:
```java
List<ShenTongMain> mergedList = Stream.concat(listOne.stream(), listTwo.stream())
.distinct((st1, st2) -> st1.getId() == st2.getId())
.collect(Collectors.toList());
```
如果你要根据`testName`属性进行去重,可以使用以下代码:
```java
List<ShenTongMain> mergedList = Stream.concat(listOne.stream(), listTwo.stream())
.distinct((st1, st2) -> Objects.equals(st1.getTestName(), st2.getTestName()))
.collect(Collectors.toList());
```
这里使用Lambda表达式来指定`distinct()`方法的比较逻辑。
阅读全文