zoukankan      html  css  js  c++  java
  • 举例说明java8 stream-filter的使用

    一 以filter为例说明stream的使用

    有如下例子,筛选出List中大于10的元素,传统处理方法如下(命令式):

    package demo;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class StreamFilterDemo {
        public static void main(String[] args) {
            List<Integer> integerList = new ArrayList<>();
            integerList.add(1);
            integerList.add(2);
            integerList.add(11);
            integerList.add(12);
    
            List<Integer> filteredList = new ArrayList<>();
            for (Integer i : integerList) {
                if (i > 10) {
                    filteredList.add(i);
                }
            }
    
            for (Integer i : filteredList) {
                System.out.println(i);
            }
        }
    }

    打印结果:

    11
    12

    使用Stream的filter如下(声明式):

    package demo;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.stream.Collectors;
    
    public class StreamFilterDemo {
        public static void main(String[] args) {
            List<Integer> integerList = new ArrayList<>();
            integerList.add(1);
            integerList.add(2);
            integerList.add(11);
            integerList.add(12);
    
            List<Integer> filteredList = new ArrayList<>();
    
            filteredList = filteredList.stream().filter(e -> e > 10).collect(Collectors.toList());
            for (Integer i : filteredList) {
                System.out.println(i);
            }
        }
    }

    打印结果:

    11
    12

    对比来看,声明式的java8中的Stream的filter操作集合更为方便直观。

  • 相关阅读:
    初始化webpack项目
    GCN 实现3 :代码解析
    GCN实现3
    GCN 简单numpy实现
    GCN python 实现2:利用GCN进行节点分类
    GCN
    Transformer —— attention is all you need
    多任务学习Multi-task-learning MTL
    两个概念:CCA和LDA
    Transfer learning
  • 原文地址:https://www.cnblogs.com/silenceshining/p/13493711.html
Copyright © 2011-2022 走看看