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);
  • 相关阅读:
    动态查找>红黑树(RedBlack Tree)
    JSF>表格设置行的颜色
    获取某一天之前或者之后多少天的日期
    java基础>jdbc数据库操作
    java基础>Exception
    数据结构>优先队列(堆)
    java基础>I/O
    java基础>线程 生产者消费者问题
    java基础>泛型
    动态规划>可靠性设计
  • 原文地址:https://www.cnblogs.com/zhuhaorong/p/12064013.html
Copyright © 2011-2022 走看看