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);
  • 相关阅读:
    Eclipse安装Hadoop插件
    (转)Ubuntu14.0.4中hadoop2.4.0伪分布模式配置
    Hadoop--DataNode无法启动
    启动与关闭hadoop
    hadoop中执行命令时发生错误
    strings命令
    Deriving data from ElasticSearch Engine
    elasticsearch data importing
    reading words in your computer and changing to female voice, linux festival text2wave saving wav files
    DDNS client on a Linux machine
  • 原文地址:https://www.cnblogs.com/zhuhaorong/p/12064013.html
Copyright © 2011-2022 走看看