首页 > 其他分享 >lambda表达式基本使用和语法

lambda表达式基本使用和语法

时间:2023-10-13 12:02:39浏览次数:38  
标签:comcachinfoList WzzComCacheView list List 语法 add new 表达式 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));
    
    

标签:comcachinfoList,WzzComCacheView,list,List,语法,add,new,表达式,lambda
From: https://www.cnblogs.com/pu8023/p/17761766.html

相关文章

  • 06 模板语法
    template:模板主要讲的是vue的基本使用语法1.文本插值和js的结合使用2.原始HTML......
  • 正则表达式-反向引用
    正则基础之——反向引用-石磊-博客园(cnblogs.com)主要是匹配文本重复另外,以前没有注意过小括号除了可以捕获,还可以把几个条件绑定成一个整体匹配前面的子表达式零次或一次。例如,do(es)?可以匹配"do"、"does"、"doxy"中的"do"和"does"。?等价于{0,1}。......
  • sql注入(mysql的重要语句语法)
    查询当前数据库服务器所有数据库showdatabases;选中某个数据库use数据库名查询当前数据库所有的表showtables;查询某表所有数据select*fromt1;(whereid=2;)union合并查询2个特性:前面的查询语句和后面的查询语句结果互不干扰前面的查询语句的字段数量和后面......
  • Shell(二):正则表达式
    1、元字符Shell的表达式是一串字符。元字符(Metacharacters)是用来阐释字符表达式意义的字符。元字符就是描述字符的字符,用于对字符表达式的内容、转换及各种操作信息进行描述。2、正则表达式正则表达式是由一串字符和元字符构成的字符串,简称RE(RegularExpression)。......
  • Java8新特性之Lambda表达式(一)
    Java8新特性之Lambda表达式(一)文章目录1.lambda表达式介绍2.lambda表达式的重要特征3.lambda表达式对域外变量的限制4.lambda表达式的优缺点5.lambda表达式的使用场景6.lambda表达式的实现原理7.相关链接1.lambda表达式介绍lambda表达式是Java8提供的新特......
  • 使用正则表达式验证用户名和密码
    学习Java开发mis系统一开始总的有个页面来登录吧,可以输入用户名和密码,用到使用正则表达式验证用户名和密码。马上安排!<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type&......
  • C++ 11 Lambda表达式
    C++11Lambda表达式 C++11的一大亮点就是引入了Lambda表达式。利用Lambda表达式,可以方便的定义和创建匿名函数。对于C++这门语言来说来说,“Lambda表达式”或“匿名函数”这些概念听起来好像很深奥,但很多高级语言在很早以前就已经提供了Lambda表达式的功能,如C#,Python等......
  • 正则表达式
     ......
  • Arrays、Lambda
    Array.sort()对对象进行排序Lambda        ......
  • 软件测试|深入理解SQL RIGHT JOIN:语法、用法及示例解析
    引言在SQL中,JOIN是一种重要的操作,用于将两个或多个表中的数据关联在一起。SQL提供了多种JOIN类型,其中之一是RIGHTJOIN。RIGHTJOIN用于从右表中选择所有记录,并将其与左表中匹配的记录组合在一起。本文将深入探讨SQLRIGHTJOIN的语法、用法以及通过实例解析来说明其作用。RIGH......