首页 > 其他分享 >多个List,合并,去重操作。用stream

多个List,合并,去重操作。用stream

时间:2022-11-23 15:27:05浏览次数:42  
标签:user2 stream Stream user1 list 合并 List TestUser

例,用户1有“admin”,"test"两个角色,用户2有“test”,

上代码

List<TestUser> list = new ArrayList<>();
TestUser user1 = new TestUser();
user1.setRoles(Arrays.asList("admin","test"));
list.add(user1);
TestUser user2 = new TestUser();
user2.setRoles(Arrays.asList("admin"));
list.add(user2);

//Stream flatMap(Function<? super T, ? extends Stream<? extends R>> mapper)
//转换流并合并,将原Stream中的每个元素都转换成另一个Stream,然后把所有Stream连接成一个新的Stream。接收一个Function函数作为参数。
Stream<String> stringStream = list.stream().flatMap(i -> i.getRoles().stream());
stringStream.distinct().forEach(i ->{
System.out.println(i);
});

标签:user2,stream,Stream,user1,list,合并,List,TestUser
From: https://www.cnblogs.com/huangtiing/p/16918428.html

相关文章

  • C# List分页
    List.Skip((pagecount-1)*pagesize).Take(pagesize)假设你每页10条数据当前是第3页跳到第4页则:List.Skip((4-1)*10).Take(10) intnumb=100;intsize=(int)Math.C......
  • Filter,Listener,AJAX和JSON
    Filter是过滤器,就是在浏览器发送请求给服务器访问服务器资源时,需要先经过服务器中的filter过滤器,filter放行了,请求才能到达资源哪里,常用于权限设置,比如要查看某个数据库中......
  • ftk学习记(list篇)
      在开始今天的list主题之前,先看一下icon的运行效果。  今天说的list其实和这个icon差不多。大家只需要把这些icon想像成一条一条的item就可以了。同样,list的demo代......
  • MediatRPC - 基于MediatR和Quic通讯实现的RPC示例,新增Server Stream功能,发布开源地址
    大家好,我是失业在家,正在找工作的博主Jerry。今天发布MediatRPC的开源地址:github.com文档增加了MediatRPC的架构图和架构说明(英文):Ontheclientside,itestablishesa......
  • 19.删除链表的倒数第N个节点 remove-nth-node-from-end-of-list
    问题描述19.删除链表的倒数第N个节点解题思路首先设置一个虚拟头节点pre,pre->next=head;双指针法,考虑使用两个指针fast,slow,一快一慢,fast指针先前进n个位置,然后fast和......
  • 如何通过Java应用程序合并和取消合并 Excel 单元格
    在整理Excel中的数据时,我们不可避免地需要合并和取消合并单元格。同时,如果需要创建跨列或行的标题,我们可以合并Excel单元格以在电子表格中轻松完成此操作。合并单元......
  • day19 --> (Filter过滤器、Listener监听器)
    Filter:过滤器【JavaWeb三大组件之一:Servlet、Filter、Listener】1、概念生活中的过滤器:净水器,空气净化器,土匪web中的过滤器:当访问服务器的资源时,过滤器可以将请求栏目......
  • leetcode 88. 合并两个有序数组 js实现
    给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合......
  • C# WPF ListBox 最后追加项自动滚动到最后一项 ScrollIntoView
    用这个:lstbDynamicNote.ScrollIntoView(lstbDynamicNote.Items[lstbDynamicNote.Items.Count-1]);privatevoidDynamicNoteShow(stringdynamicNote){if(lstb......
  • 1、ArrayList源码解析
    目录1概述2底层数据结构3构造函数4自动扩容5set()get()remove()6Fail-Fast机制1概述ArrayList实现了List接口,是顺序容器,允许放入null元素有一个容量(capacit......