概述
今天码程序想给一个list去个重,脑子里闪过用set过滤下,或者用list.contains()判断循环下,最后我用的是java8,哈哈哈!
很骄傲,可以说是很喜欢了
resultList.stream().distinct().collect(Collectors.toList());
好久之后看到这,也还是挺惊喜的,当时这个居然都要写这里, list转map,
Function.identity()是代表本身的意思
List<TaskDto> csvTaskDtos = new ArrayList<>();
Map<String, TaskDto> csvTaskDtoMap = csvTaskDtos.stream().collect(Collectors.toMap(TaskDto::getThemeJstId, Function.identity()));
两个list取并集 各自单独的独有属性
Set<String> systemTaskDtoMapKey = systemTaskDtoMap.keySet(); Set<String> csvTaskDtoMapKey = csvTaskDtoMap.keySet(); Set<String> includeBothKey = systemTaskDtoMapKey.stream().filter(k -> csvTaskDtoMapKey.contains(k)).collect(Collectors.toSet()); Set<String> includeSystemKey = systemTaskDtoMapKey.stream().filter(k -> !csvTaskDtoMapKey.contains(k)).collect(Collectors.toSet()); Set<String> includeCsvKey = csvTaskDtoMapKey.stream().filter(k -> !systemTaskDtoMapKey.contains(k)).collect(Collectors.toSet());
转载于:https://www.cnblogs.com/CuiHongYu/p/10114939.html
最后
以上就是满意老鼠为你收集整理的java8 list去重 list转map 两个list取并集的全部内容,希望文章能够帮你解决java8 list去重 list转map 两个list取并集所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复