java8 lambda常用表达式


interface MyInterface{
    void dosomething(String s);
}

@SpringBootTest
class MybatisplusSpringbootApplicationTests {


    @Test
    void lambda(){
        List list = Arrays.asList("one", "two", "three", "four", "five", "six", "seven", "fifth");
//        //传统的遍历
//        for (Object o : list) {
//            System.out.println(o);
//        }
//        list.forEach(System.out::println);
//        list.forEach(s ->{
//            System.out.println(s);
//        });

//        //传统的排序
//        Collections.sort(list, new Comparator() {
//            @Override
//            public int compare(String o1, String o2) {
//                return o1.compareTo(o2);
//            }
//        });
//        Collections.sort(list, (o1, o2) -> o1.compareTo(o2));
//        list.forEach(System.out::println);

//        //过滤
//        List list2 = list.stream().filter(s -> s.startsWith("t")).collect(Collectors.toList());
//        list2.forEach(System.out::println);

//        //映射:将原元素,转成另外类型的元素
//        List list3 = list.stream().map(s -> s.length()).collect(Collectors.toList());
//        list3.forEach(System.out::println);

//        List list4 = Arrays.asList(1, 2, 3, 4, 5);
//        Integer reduce = list4.stream().reduce(0, (a, b) -> a + b);
//        System.out.println(reduce);
//
//        //分组
//        HashMap> map = new HashMap<>();
//        for (String item: list) {
//            Integer length = item.length();
//            if (!map.containsKey(length)){
//                map.put(length, new ArrayList());
//            }
//            map.get(length).add(item);
//        }
//        System.out.println(map);
//
//        Map> map1 = list.stream().collect(Collectors.groupingBy(String::length));
//        System.out.println(map1);

//        MyInterface myInterface = new MyInterface() {
//            @Override
//            public void dosomething(String s) {
//                System.out.println(s);
//            }
//        };
//
//        myInterface.dosomething("dododo");
//        myInterface = (s)-> System.out.println(s);
//        myInterface.dosomething("gogogo");

//        Thread thread = new Thread(new Runnable() {
//            @Override
//            public void run() {
//                System.out.println("thread run");
//            }
//        });
//        thread.start();
//
//        Thread thread1 = new Thread(() -> System.out.println("other thread run"));
//        thread1.start();

//        String str = "hell everyone";
//        if (str != null){
//            System.out.println(str.toUpperCase());
//        }
//        Optional.of(str).map(String::toUpperCase).ifPresent(System.out::println);

        List list2 = new ArrayList<>();
        for (String s: list) {
            if (s.startsWith("f")){
                list2.add(s.toUpperCase());
            }
        }
        Collections.sort(list2);
        System.out.println(list2);

        List list3 = list.stream().filter(s -> s.startsWith("f")).
                map(String::toUpperCase).collect(Collectors.toList());
        System.out.println(list3);

    }

}

你可能感兴趣的:(java入门,java)