lambda表达式简单学习

package controller;

import java.util.*;
import java.util.stream.Collectors;

import static jdk.nashorn.internal.objects.NativeArray.filter;

/**
 * @author liuming
 * @since 2020/4/14
 */

public class MainMethod {
   /**
    *@参数
    *@返回值   lambda表达式的常见用法
    *@创建人 liuming
    *@创建时间 2020/4/14
    */
    public static void main(String[] args) {
        System.err.println("-----------------1 遍历map" +
                "   2.1 遍历list" +
                "-------------------------------");

        //涉及知识点 foreach 遍历
        // stream.filter 进行过滤
        // stream.map  修改变量值



        System.err.println("1------------------------------------------------");
        Map<String,String> aMap = new HashMap<>();
        aMap.put("Aluka", "AluWife");
        aMap.put("GodV", "mifengaaa");
        aMap.forEach((k,v)->{
            System.err.println(k);
            System.err.println(v);
        });
      System.err.println("2.1 ------------------------------------------------");
      //2.1 对list迭代遍历
        List<String> list=new ArrayList<>();
        List<String> list2=new ArrayList<>();
        list.add("a");
        list.add("c");
        list.add("v");
        list.add("b");
        //相当于for循环遍历
        list.forEach(n-> {
            //对每个变量进行打印 或者其他操作 如:加入list2
            list2.add(n);
        });

        System.err.println("2 .2------------------------------------------------");
        // 2.2 使用场景  将list2中每个变量加上xxxxl 然后遍历打印出来
        list2.stream().map(n->n+"xxxl").forEach(n-> System.err.println(n));

        // 2.3 使用场景  将list2中每个变量加上后缀xxxxl  后将所有变量拼接成一个字符串
        System.err.println("2 .3------------------------------------------------");
        String pinjie=list2.stream().map(n->n+"xxl") //加后缀
                .reduce((a,b)->a+b)//定义 操作相加
                .get(); //获得结果
        System.err.println(pinjie);

        System.err.println("3------------------------------------------------");
        //3 list进行过滤出J开头的单词 然后返回过滤后的集合
        List<String> languages = Arrays.asList("Java", "Scala", "C++", "Haskell", "Lisp");
        List<String> result=languages.stream().filter(language ->language.startsWith("J"))
                .collect(Collectors.toList());
        System.err.println(result);

        System.err.println("4------------------------------------------------");

       // 将字符串换成大写并用逗号链接起来 返回一个字符串
        List<String> G7 = Arrays.asList("USA", "Japan", "France", "Germany", "Italy", "U.K.","Canada");
        String G7Countries = G7.stream().map(x -> x.toUpperCase()).collect(Collectors.joining(", "));
        System.out.println(G7Countries);


        // 5实现Runnable
        new Thread(()-> System.err.println("1实现Runnable")).start();



    }
}

猜你喜欢

转载自www.cnblogs.com/hhxylm/p/12696412.html
今日推荐