1.lambda方式
1.1整体去重
List<TmpTrainingData> collect = list.stream().distinct().collect(Collectors.toList());
1.2根据某个或者某几个字段去重
1.2.1根据一个字段去重
List<User> userList = users.stream() .collect(
Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(user -> user.getName()))), ArrayList::new));
1.2.2根据多个字段去重
List<User> userList = users.stream() .collect(
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(user -> user.getName()+";"+user.getId()))), ArrayList::new));
2.利用linkedHashSet去重
LinkedHashSet<TmpTrainingData> tmpTrainingData1 = new LinkedHashSet<>(list);
ArrayList<TmpTrainingData> tmpTrainingData2 = new ArrayList<>(tmpTrainingData1);