• Guava (FluentIterable迭代器)


    package com.youai.learning;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import com.google.common.base.Predicate;
    import com.google.common.collect.FluentIterable;
    
    /**
     * Hello world!
     *
     */
    public class App 
    {
        public static void main( String[] args )
        {
            System.out.println("Guava提供了可以在Iterator中进行处理的功能更丰富的迭代器, 其实就像是加了一个代理, 增加一些功能。");
            List<Emp>emps=new ArrayList<Emp>();
            for(int i=0;i<10;i++){
                emps.add(new Emp(i, "Hello World!",10+i));
            }
            System.out.println("迭代前:");
            for(Emp emp1:emps){
                System.out.println(emp1);
                
            }
            
            
            Iterable<Emp>emps2=FluentIterable.from(emps).filter(new Predicate<Emp>() {
    
                public boolean apply(Emp emp) {
                    // TODO Auto-generated method stub
                    return emp.getId()>5;
                }
    
                
            });
            System.out.println("迭代后:");
            for(Emp emp:emps2){
                System.out.println(emp);
                
            }
            
        }
    }
    class Emp {
        public Emp(int id, String userName, int age) {
            this.id = id;
            this.userName = userName;
            this.age = age;
        }
    
        private String userName;
        private int id;
        private int age;
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public String getUserName() {
            return userName;
        }
    
        public void setUserName(String userName) {
            this.userName = userName;
        }
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        @Override
        public String toString() {
            return "Emp [userName=" + userName + ", id=" + id + ", age=" + age + "]";
        }
    
    }
    
    
    运行结果:
    Guava提供了可以在Iterator中进行处理的功能更丰富的迭代器, 其实就像是加了一个代理, 增加一些功能。
    迭代前:
    Emp [userName=Hello World!, id=0, age=10]
    Emp [userName=Hello World!, id=1, age=11]
    Emp [userName=Hello World!, id=2, age=12]
    Emp [userName=Hello World!, id=3, age=13]
    Emp [userName=Hello World!, id=4, age=14]
    Emp [userName=Hello World!, id=5, age=15]
    Emp [userName=Hello World!, id=6, age=16]
    Emp [userName=Hello World!, id=7, age=17]
    Emp [userName=Hello World!, id=8, age=18]
    Emp [userName=Hello World!, id=9, age=19]
    迭代后:
    Emp [userName=Hello World!, id=6, age=16]
    Emp [userName=Hello World!, id=7, age=17]
    Emp [userName=Hello World!, id=8, age=18]
    Emp [userName=Hello World!, id=9, age=19]
  • 相关阅读:
    装饰者模式和适配器模式
    java 中获得 资源文件方法
    在windows 上统计git 代码量
    Linux-静态库生成
    Redis-Redi事务注意事项
    Linux-使用 yum 升级 gcc 到 4.8
    Linux-配置虚拟IP
    PHP-PSR-[0-4]代码规范
    Linux-/etc/rc.local 或 service 中使用 sudo -u xxx cmd 执行失败(sorry, you must have a tty to run sudo)解决办法
    Linux-系统负载
  • 原文地址:https://www.cnblogs.com/mature1021/p/9939523.html
Copyright © 2020-2023  润新知