list的初始值 uid都为1, AccountData2单独设置了NickName("aaa");
List<AccountData> AccountDataList = new ArrayList<>();
AccountData AccountData = new AccountData();
AccountData AccountData2 = new AccountData();
AccountData.setUid(1);
AccountData2.setUid(1);
AccountData2.setNickName("aaa");
AccountDataList.add(AccountData);
AccountDataList.add(AccountData2);
如果是比较对象中的单个值 如:id
HashSet<Long> uidSet = new HashSet<>();
AccountDataList.stream().forEach(t->{
uidSet.add(t.getUid());
});
System.out.println( AccountDataList.size() == uidSet.size());
如果是比较整个对象 AccountData
1.可直接放进HashSet中
HashSet uidSet1 = new HashSet<>(AccountDataList);
System.out.println(AccountDataList.size() == uidSet1.size());
2.用stream()流的distinct方法
long distinctedSize = AccountDataList.stream().distinct().count();
System.out.println( AccountDataList.size() == distinctedSize);
结果执行情况
false
true
true