zoukankan      html  css  js  c++  java
  • 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]
  • 相关阅读:
    LOJ #2109. 「JLOI2015」骗我呢 数形结合+组合+容斥
    LOJ #2729. 「JOISC 2016 Day 1」俄罗斯套娃 扫描线+贪心
    LOJ #2508. 「AHOI / HNOI2018」游戏 拓扑排序
    LOJ #2106. 「JLOI2015」有意义的字符串 构造+矩阵乘法
    LOJ #2471. 「九省联考 2018」一双木棋 记忆化搜索
    python的md5和base64加密
    [转]python的find()方法
    [转]python的startswith()方法
    获取http请求的响应状态
    with...as...用法
  • 原文地址:https://www.cnblogs.com/mature1021/p/9939523.html
Copyright © 2011-2022 走看看