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);
    }

    对象和对象的方法

    
    
  • 相关阅读:
    用Asp.Net实现类似DWR的功能
    Icesword FAQ端口 进程 服务篇
    用脚本实时显示Linux网络流量
    为DropDownList 添加optgroup分组以及为ListItem 加式样
    C# 中Treeview无限级目录实现
    .NET 2.0 WinForm Control DataGridView 编程36计(一)
    如何:从 Windows 窗体 DataGridView 控件中移除自动生成的列
    分组显示的select下拉选框
    如何用命令行查找并快速定位ARP病毒母机
    在.NET上如何根据字符串动态创建控件
  • 原文地址:https://www.cnblogs.com/wangjing666/p/8024293.html
Copyright © 2011-2022 走看看