zoukankan      html  css  js  c++  java
  • 语法糖

    Lambda表达式是java8新加的语法糖

    当一个接口中,只有一个抽象方法的时候,可以使用Lambda表达式。

    可以用@FunCtionalInterface 注解判断下面的接口能不能实现Lambda表达式,使用Lambda可以使代码更简洁例如事件的监听

    btn.addActionListener(e->JOptionPane.shiowMessageDialog(null,""))

    Stream:

    //stream 专门用来简单循环集合的 
    List<String> list = new ArrayList<String>();
    list.add("aaa");
    list.add("bbb");
    list.add("ccc");
    list.add("ddd");
    
    
    //把数组转换为List
    String [] strs = {"aaa","bbb","ccc","ddd"};
    List<String> list = Arrays.asList(strs);
    
    //把集合转换为数组
    //String [] ss = list.toArray(new String[list.size()]);
    
    List<String> ss = Arrays.asList("aaa","","abd","dfd","","dfdg","","ttt");
    
    for (String string : ss) {
    System.out.println(string);
    }
    
    List<String> strs = new ArrayList<>();
    
    for (String string : ss) {    
    if(!string.equals("")) {
    strs.add(string);
    }
    }
    
    System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    
    for (String string : strs) {
    System.out.println(string);
    }

    Stream的操作:

    // ss(集合).stream()(把集合化为流).filter()(过滤,过滤之后还是一个Stream).collect()(把流再重新换成集合)
            collect(Collectors.toList()) //写法比较固定,把流转换为List集合
            ss = ss.stream().filter(s -> !s.isEmpty()).collect(Collectors.toList());
            
            ss.forEach(System.out::println);
            
            
            collect(Collectors.joining(",")) // 把流转换为了字符串,这里是用,分割字符串
            String str = ss.stream().filter(s -> !s.isEmpty()).collect(Collectors.joining(","));
            System.out.println(str);

    流的统计:

    //流的统计
            //下面这句话是判断集合中有几个空的字符串
            long n = ss.stream().filter(s -> s.isEmpty()).count();
            System.out.println(n);
            
            sorted 排序
            limit 限定
           List<Integer> nums = Arrays.asList(34,7,2,8,35,11,99,55,77);
            nums.stream().sorted().limit(5).forEach(System.out::println);
    
            List<Integer> nums = Arrays.asList(34,7,2,8,35,11,99,55,77);
            //map 方法可以映射没一个元素处理之后的结果
            nums = nums.stream().map(i -> i*2).collect(Collectors.toList());
            
            nums.forEach(System.out::println);
  • 相关阅读:
    Java 原理性文章收录
    kafka connect userguide【confluence】
    curl 工具使用
    MySQL 数据类型
    Kafka Producer (0.10.0.0)原理
    Kafka Consumer 原理与实践
    java 泛型详解
    redis 高可用集群之水平扩展
    Redis 5.0.0 安装(集群)
    Apollo(阿波罗)架构深度剖析
  • 原文地址:https://www.cnblogs.com/zhuhaorong/p/12064013.html
Copyright © 2011-2022 走看看