List<Obj>stream去重

List<PlugMng> resList = new ArrayList<>();
//......
//resList 根据 PlugMng 对象的属性 Long plugId 进行去重,有序且保留最先出现的对象
if (resList.size() > 1) {
	resList = resList.stream()
		.collect(Collectors.toMap(
			PlugMng::getPlugId,
			obj->obj,
			(a,b)->a,
			LinkedHashMap::new
		))
		.values()
		.stream()
		.collect(Collectors.toList());
}

// key:plugId
// value:对象本身
// 冲突时保留旧对象(第一个)
// 保证顺序
posted @ 2026-07-08 18:01  yub4by  阅读(0)  评论(0)    收藏  举报