List<User> list1= new ArrayList<>();
for(int i=0 ;i<=3; i++){
User user1=new User();
user1.setId(i)
user1.setName(" 小明")
list1.add(user1)
}
)
List<User> list2= new ArrayList<>();
for(int i=0 ;i<=2; i++){
User user2=new User();
user2.setId(i)
user1.setName(" 小王")
list1.add(user2)
}
根據 id 是否相同 取差集 搞了半天都有問題,求大神幫幫忙
uj5u.com熱心網友回復:
list1.removeAll(list2);。。。。重寫hashCode和equals方法。。uj5u.com熱心網友回復:
大神,能不能詳細點uj5u.com熱心網友回復:
大神,能不能詳細點,汗
uj5u.com熱心網友回復:
判斷物件是否相等,是根據hashcode和equals方法來確定的,你要根據id來判斷,那就重寫User類的hashcode和equals方法,開發工具如 eclipse ide都有快捷鍵可以直接復寫這兩個方法(選屬性的時候只選id就行了)。uj5u.com熱心網友回復:
根據account 和 groupid 是否相同List<GroupPeople> distinctByUniqueList = groupPeopleList.stream()
//groupPeopleList - dbaGroupPeoples 差集
.filter(item -> !dbaGroupPeoples.stream()
.map(e -> e.getAccount() + e.getGroupId())
.collect(Collectors.toList())
.contains(item.getAccount() + item.getGroupId()))
//去重
.filter(UniqueUtils.distinctByKey(e -> e.getAccount()))
.peek(e -> e.setId(UUIDUtil.uuid()))
.collect(Collectors.toList());
uj5u.com熱心網友回復:
思路絕了!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/121236.html
標籤:Java相關
上一篇:Java 打包
