java8 stream源码中stream.collect(Collectors.toList())去重
**
利用 java8 stream对list或者set中带有(“aaa”,“88888”)等复杂字段去重。如若失败可能是equals方法原因,需要重写hashCode(), equals(Object obj)方法。
测试发现如果hashCode()的字段为Long类型,即不是String的话equals(Object obj)方法中的this.id==other.getId()应将换成this.id.equals(other.getId(),测试即可成功。
需要的朋友可可参考一下如下代码。
菜鸟小白zzh分享
package zzh;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class Test {
public static void main(String[] args) {
EqualsObj obj1 =new EqualsObj("1","xxx");
EqualsObj obj2 =new EqualsObj(