Lambda表达式集合的基础使用

一、操作集合

  1. 两个结合数据获取相同部分和不同部分

    		List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5);
            List<Integer> list2 = Arrays.asList(4, 5, 6, 7, 8);
            test.notRepeat(list1,list2);
    	/**
         * 获取集合中重合/不重合部分
         * 不重合部分:!list2.contains(num))
         * 重合部分:list2.contains(num))
         * @param list1
         * @param list2
         * @return
         */
        private List notRepeat(List<Integer> list1,List<Integer> list2){
            List<Integer> result = list1.stream()
                    .filter(num -> !list2.contains(num))
                    .collect(Collectors.toList());
            System.out.println("不重复的数据:" + result);
            return result;
        }
    2.distinct(),集合去重取某个字段属性封装成List集合
        	public static void main(String[] args) {
    //		List<DeviceInfo> deviceInfoLst=new ArrayList<DeviceInfo>();
    //		DeviceInfo deviceInfo1=new DeviceInfo();
    //		DeviceInfo deviceInfo2=new DeviceInfo();
    //		DeviceInfo deviceInfo3=new DeviceInfo();
    //		DeviceInfo deviceInfo4=new DeviceInfo();
    //		deviceInfo1.setId(1L);
    //		deviceInfo2.setId(203L);
    //		deviceInfo3.setId(164L);
    //		deviceInfo4.setId(88L);
    //		
    //		deviceInfoLst.add(deviceInfo1);
    //		deviceInfoLst.add(deviceInfo2);
    //		deviceInfoLst.add(deviceInfo3);
    //		deviceInfoLst.add(deviceInfo4);
    		
    		List<String> deviceNos=new ArrayList<String>();
    		deviceNos.add("301F7878445");
    		deviceNos.add("301F7878466");
    		deviceNos.add("301F7878466");
    		deviceNos.add("301F7878444");
    		deviceNos.add("301F7878444");
    		
    		// 集合去重取某个字段属性封装成List集合
    		List<String> newDeviceNoLst=new ArrayList<String>();
    		deviceNos.stream().distinct().forEach((deviceNo)->{newDeviceNoLst.add(deviceNo);});
    		// 输出
    		System.out.println(newDeviceNoLst);
    	}
    
  2. 集合对象获取所有对象中某一个属性的值返回成集合

    List<String> collect = list.stream().map(集合对象::get属性名).collect(Collectors.toList()); //返回值类型根据属性类型决定
    
  3. 集合对象过滤筛选出符合条件的对象

    		YzzComCacheDetailsView comCacheDetailsView = new YzzComCacheDetailsView();
            comCacheDetailsView.setDev_id("0");
            YzzComCacheDetailsView comCacheDetailsView1 = new YzzComCacheDetailsView();
            comCacheDetailsView1.setDev_id("1");
            List<YzzComCacheDetailsView> list = new ArrayList<>();
            list.add(comCacheDetailsView);
            list.add(comCacheDetailsView1);
    List<YzzComCacheDetailsView> collect = list.stream().filter(t -> t.getDev_id().equals("1")).collect(Collectors.toList());
    
  4. 集合分页

    WzzComCacheView comCacheInfo = new WzzComCacheView();
            comCacheInfo.setCacheName("1111");
            comCacheInfo.setCacheID(1L);
            WzzComCacheView comCacheInfo2 = new WzzComCacheView();
            comCacheInfo2.setCacheName("222");
            comCacheInfo2.setCacheID(2L);
            WzzComCacheView comCacheInfo3 = new WzzComCacheView();
            comCacheInfo3.setCacheName("333");
            comCacheInfo3.setCacheID(3L);
            WzzComCacheView comCacheInfo4 = new WzzComCacheView();
            comCacheInfo4.setCacheName("444");
            comCacheInfo4.setCacheID(4L);
            WzzComCacheView comCacheInfo5 = new WzzComCacheView();
            comCacheInfo5.setCacheName("555");
            comCacheInfo5.setCacheID(5L);
            WzzComCacheView comCacheInfo6 = new WzzComCacheView();
            comCacheInfo6.setCacheName("666");
            comCacheInfo6.setCacheID(6L);
            List<WzzComCacheView> comcachinfoList = new ArrayList<>();
            comcachinfoList.add(comCacheInfo);
            comcachinfoList.add(comCacheInfo2);
            comcachinfoList.add(comCacheInfo3);
            comcachinfoList.add(comCacheInfo4);
            comcachinfoList.add(comCacheInfo5);
            comcachinfoList.add(comCacheInfo6);
    
            System.out.println("分页前-------------------");
            comcachinfoList.forEach(System.out::println);
            int pageNo = 2;
            int pageSize = 2;
            List<WzzComCacheView> subList = comcachinfoList.stream().skip((pageNo - 1) * pageSize).limit(pageSize).
                    collect(Collectors.toList());
            System.out.println("分页后-------------------");
            subList.forEach(System.out::println);
    
  5. 集合循环

    		list.stream().forEach(deviceNo ->{
    			System.out.println(deviceNo);
    		});
    
  6. 集合排序

    List<Integer> list = new ArrayList<>();
    list.add(1);
    list.add(5);
    list.add(4);
    list.add(3);
    list.add(7);
    1. list.sort((a,b)->a.compareTo(b));
    2. list.sort(Comparator.comparing(a->a));
    
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值