zoukankan      html  css  js  c++  java
  • Java8过滤器(Filter)

    1、在Java之前对List进行过滤的方式

    public class BeforeJava8 {
    
        public static void main(String[] args) {
    
            List<Person> peoples = Arrays.asList(
                    new Person("java", 22),
                    new Person("js", 35),
                    new Person("css", 31)
            );
    
            Person result = getStudentByName(peoples, "java");
            System.out.println(result);
    
        }
    
        private static Person getStudentByName(List<Person> peoples, String name) {
            Person result = null;
            for (Person person : peoples) {
                if (name.equals(person.getName())) {
                    result = person;
                }
            }
            return result;
        }
    }

    2、在Java8使用Filter过滤List

    public class FilterJava8 {
    
        public static void main(String[] args) {
    
            List<Person> peoples = Arrays.asList(
                    new Person("java", 22),
                    new Person("js", 35),
                    new Person("css", 31)
            );
    
            Person result1 = peoples.stream()
                    .filter(p -> "java".equals(p.getName()))
                    .findAny()
                    .orElse(null);
            System.out.println(result1);
    
            Person result2 = peoples.stream()
                    .filter(p -> "spring".equals(p.getName()))
                    .findAny()
                    .orElse(null);
            System.out.println(result2);
    
            Person result3 = peoples.stream()
                    .filter((p) -> "java".equals(p.getName()) && 22 == p.getAge())
                    .findAny()
                    .orElse(null);
            System.out.println(result3);
    
            // 使用map收集
            String name = peoples.stream()
                    .filter(p -> "js".equals(p.getName()))
                    .map(Person::getName)
                    .findAny()
                    .orElse("");
            System.out.println(name);
            System.out.println("---------");
    
            List<String> names = peoples.stream()
                    .map(Person::getName)
                    .collect(Collectors.toList());
            names.forEach(System.out::println);
        }
    }
  • 相关阅读:
    疫情控制
    2020 CSP-J 多校赛 Day 2 T2 题解
    三校联考-水题狂欢信心赛
    QBXT 提高组储备营 2020.夏 游记
    【题解】(我出的题)XM捡面筋
    【题解】P4025 [PA2014]Bohater
    【题解】1644:【例 4】佳佳的 Fibonacci
    【题解】CF1165F2 Microtransactions (hard version)
    P2261 [CQOI2007]余数求和
    OVO——扶咕咕的20道CF
  • 原文地址:https://www.cnblogs.com/fengkunangel/p/10424864.html
Copyright © 2011-2022 走看看