zoukankan      html  css  js  c++  java
  • Java8 Lambda代码备份

    简单研究了一下,贴出来,相当于笔记

    import java.lang.reflect.*;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.stream.Collectors;
    import com.google.gson.Gson;
    
    public class Hello {
    
        public static void main(String[] args) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
    
            try {
                // Java中Lambda表达式
                List<Student> list = new ArrayList<Student>();
                list.add(new Student("zhangsan", 20, "2"));
                list.add(new Student("lisi", 22, "2"));
                list.add(new Student("zhangjie", 25, "3"));
                list.add(new Student("zhangjie", 40, "3"));
    
                // 循环赋值,增加2岁
                list.forEach(item -> item.setAge(item.getAge() + 2));
    
                // 循环输出年龄
                list.forEach(item -> System.out.println(item.getAge()));
    
                // 总数、最大值、最小值
                int ages = list.stream().mapToInt(f -> f.getAge()).sum();
                int maxAge = list.stream().mapToInt(f -> f.getAge()).max().getAsInt();
                System.err.println("总年龄是:" + ages);
                System.err.println("最大年龄是:" + maxAge);
    
                // 分组
                list.stream().collect(Collectors.groupingBy(Student::getName, Collectors.toList()))//
                        .forEach((name, fooListByName) -> System.out.println(name + " " + new Gson().toJson(fooListByName)));
    
                list.stream().collect(Collectors.groupingBy(Student::getName, Collectors.counting()))//
                        .forEach((name, count) -> System.out.println(name + " " + count));
    
                list.stream().collect(Collectors.groupingBy(Student::getName, Collectors.toList()))//
                        .forEach((name, ls) -> System.out.println("姓名:" + name + ",最大年龄" + ls.stream().mapToInt(f -> f.getAge()).max().getAsInt()));
                        
                //分页
                List<Student> arr = list.stream().skip(0).limit(5).collect(Collectors.toList());
                
                //where查询
                List<TaskPro> list= taskPros.stream().filter(f->f.getFirmId().equals("199989494")&&//
                            f.getTaskId().equals("1000")).collect(Collectors.toList());
            } finally {
            }
    
        }
    
    }
  • 相关阅读:
    poj 3466 A Simple Problem with Integers
    java运行脚本语言demo
    Good Bye 2013---B. New Year Present
    游标-----内存中的一块区域,存放的是select 的结果
    Oracle 游标使用全解
    Oracle系列:记录Record
    10大协作办公工具:实现团队工作效率最大化
    如何有效使用Project(1)——编制进度计划、保存基准
    多项目同时进行如何做好进度管理
    @RISK
  • 原文地址:https://www.cnblogs.com/duanjt/p/7131255.html
Copyright © 2011-2022 走看看