zoukankan      html  css  js  c++  java
  • lambda表达式


    @Test
    public void lambda1(){
    //遍历
    List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
    list.forEach(key->{
    if (key > 1) {
    System.out.println(key);
    }
    });
    }
    @Test
    public void lambda2(){
    Predicate<Integer> pre1 = (i)->i>1;
    Predicate<Integer> pre2 = (i)->i<4;
    List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
    //过滤
    list.stream().filter(t -> pre1.and(pre2).test(t)).collect(Collectors.toList()).forEach(System.out::println);
    }
    @Test
    public void lambda3(){
    Predicate<Integer> pre1 = (i)->i>1;
    Predicate<Integer> pre2 = (i)->i<4;
    List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
    //排序
    list.stream().sorted((t1, t2) -> t1.compareTo(t2)).collect(Collectors.toList());
    //分页
    list.stream().skip(2).limit(1).collect(Collectors.toList());
    //去重
    list.stream().distinct().collect(Collectors.toList());
    //最大值
    list.stream().max((t1, t2) -> t1.compareTo(t2)).get();
    //最小值
    list.stream().min((t1, t2) -> t1.compareTo(t2)).get();
    //list中的元素是否全部满足predicate
    list.stream().allMatch(t -> pre1.test(t));
    //list中的元素是否有一个满足predicate
    list.stream().anyMatch(t -> pre1.test(t));
    //list中的元素是否全部不满足predicate
    list.stream().noneMatch(t -> pre1.test(t));
    //将list中的元素+1
    list.stream().map(t -> t + 1).collect(Collectors.toList());
    //map reduce 将list中的元素+1并求和
    list.stream().map(t -> t + 1).reduce((sum, s) -> sum + s).get();
    }
    @Test
    public void lambda(){
    List<Integer> list1 = Arrays.asList(9, 1, 0,0);
    List<Integer> list2 = Arrays.asList(70, 0,0,0);
    //求max min sum average
    IntSummaryStatistics intSummaryStatistics1 = list1.stream().
    mapToInt(x -> x).summaryStatistics();
    IntSummaryStatistics intSummaryStatistics2 = list2.stream().
    mapToInt(x -> x).summaryStatistics();
    //将结果1和结果2合并求max和min以及averrge
    intSummaryStatistics1.combine(intSummaryStatistics2);
    long sum = intSummaryStatistics1.getSum();
    int max = intSummaryStatistics1.getMax();
    int min = intSummaryStatistics1.getMin();
    double average = intSummaryStatistics1.getAverage();
    System.out.println(max + ":" + min + ":" + average);
    }

    对象和对象的方法

    
    
  • 相关阅读:
    hdu 1518 Square 深搜,,,,花样剪枝啊!!!
    3D拾取技术
    cocos2dx 使用spine制作骨骼动画
    poj3080Blue Jeans
    G4Studio+extjs+highcharts 下在ext4j的panel中放入hightCharts图表
    快的打车架构实践
    电源管理ACPI、及APM、GNU/Linux系统下的相应命令使用
    ------银行系统------
    ARM+llinux系统移植3G拨号上网收发短信(一)【转】
    在ARM-linux上实现4G模块PPP拨号上网【转】
  • 原文地址:https://www.cnblogs.com/wangjing666/p/8024293.html
Copyright © 2011-2022 走看看