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]
  • 相关阅读:
    iphone开发 使用TouchJSON框架 解析JSON
    iphone开发UIScrollView控件详解
    iPhone UIAlertView属性及使用方法
    vim文本编辑器使用大全 命令的解读
    iphone开发软件Xcode3.2.6破解免证书真机开发调试方案
    Objectivec语言 字符串类NSMutableString用法
    iphone开发 如何在NSMutableDictionary中放入基本数据类型
    找了很久,终于让我找到了,登陆界面登陆按钮随着输入法键盘的弹出而动态改变
    微软安全指南中心:Windows 2000
    在网络中安装、配置和使用SUS服务
  • 原文地址:https://www.cnblogs.com/mature1021/p/9939523.html
Copyright © 2011-2022 走看看