在实战业务场景中,可能需要去重List 重复数据,直接看如下示例:
1.代码示例:
import cn.hutool.core.collection.ListUtil;
import cn.hutool.json.JSONUtil;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.TreeSet;
import java.util.stream.Collectors;
/**
* 类说明
*
* @author Andy
* @date 2022/11/27
*/
public class Demo0 {
public static void main(String[] args) {
UserVO user1 = new UserVO();
user1.setUserId(1L);
user1.setUsername("测试1");
UserVO user2 = new UserVO();
user2.setUserId(3L);
user2.setUsername("测试1");
UserVO user3 = new UserVO();
user3.setUserId(3L);
user3.setUsername("测试1");
UserVO user4 = new UserVO();
user4.setUserId(4L);
user4.setUsername("测试1");
UserVO user5 = new UserVO();
user5.setUserId(4L);
user5.setUsername("测试1");
List<UserVO> list = ListUtil.toList(
user1,
user2,
user3,
user4,
user5
);
System.out.println("去重前List--<<<<<" + JSONUtil.toJsonStr(list));
// 去重
list = list.stream().collect(Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(
Comparator.comparing(UserVO :: getUserId))), ArrayList::new));
System.out.println("去重后List--<<<<<" + JSONUtil.toJsonStr(list));
}
}
2.输出结果: