zoukankan      html  css  js  c++  java
  • Java8 stream基础

    List<Integer> list = new ArrayList<Integer>();
    list.add(2);
    list.add(4);
    list.add(0);
    list.add(100);
    System.out.println("----------------stream---------------------");
    list.stream().filter(e -> e > 4).forEach(System.out::println);
    Stream<Integer> list1 = list.stream().filter(e -> e > 0);
    Iterator<Integer> iter = list1.iterator();
    while (iter.hasNext()) {
    System.out.println(iter.next());
    }
    System.out.println("--------------filter 条件查询--------------------");
    list = list.stream().filter(e -> e > 2).collect(Collectors.toList());
    list.forEach(System.out::println);
    List<Student> studentlist=new ArrayList<Student>();
    studentlist.add(new Student("A",12));
    studentlist.add(new Student("B",5));
    studentlist.add(new Student("C",16));
    studentlist.add(new Student("D",2));
    System.out.println("取出集合中对象指定属性");
    studentlist.stream().map(Student::getName).forEach(System.out::println);
    System.out.println("-----------------------------按对象属性正序---------------------------------------------");
    studentlist.stream().sorted(Comparator.comparing(Student::getAge)).forEach(System.out::println);
    System.out.println("-----------------------------按对象属性倒序---------------------------------------------");
    studentlist.stream().sorted(Comparator.comparing(Student::getAge).reversed()).forEach(System.out::println);
    studentlist=studentlist.stream().sorted(Comparator.comparing(Student::getAge).reversed()).collect(Collectors.toList());
    System.out.println("----------------------------stream 转化为集合输出----------------------------------------------");
    studentlist.forEach(System.out::print);

    class Student{
    private String name;
    private Integer age;
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public Integer getAge() {
    return age;
    }
    public void setAge(Integer age) {
    this.age = age;
    }
    public Student(String name, Integer age) {
    super();
    this.name = name;
    this.age = age;
    }
    public Student() {
    super();
    }
    @Override
    public String toString() {
    return "Student [name=" + name + ", age=" + age + "]";
    }


    }

  • 相关阅读:
    IPC对象的持续性
    数据结构C++版-图
    数据结构C++版-树
    数据结构C++版-队列
    数据结构C++版-栈
    数据结构C++版-线性表
    转-二值图像连通域标记
    AdaBoost笔记之通俗易懂原理介绍
    AdaBoost笔记之原理
    C++之多态
  • 原文地址:https://www.cnblogs.com/coderdxj/p/9020006.html
Copyright © 2011-2022 走看看