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);
        }
    }
  • 相关阅读:
    Linux 启动过程详解
    ASM实例原始磁盘搜索路径
    RMAN命令总结
    使用DUPLICATE 方式创建ORACLE 11G DG备库环境
    Dataguard中日志传输服务
    Material design之Material Theme
    创建一个Material Design应用过程
    android Material design是什么
    Android 最新L版本,都更新什么东西了
    AndroidHttpClient和HttpEntity详解
  • 原文地址:https://www.cnblogs.com/fengkunangel/p/10424864.html
Copyright © 2011-2022 走看看