zoukankan      html  css  js  c++  java
  • 匿名内部类 , Iterable<T> 和 Iterator<T>

    package generic;
    
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Collection;
    import java.util.Iterator;
    
    public class ReversibleArrayList<T> extends ArrayList<T> {
        private static final long serialVersionUID = -2293646393609696016L;
        
        public ReversibleArrayList(Collection<T> collection){
            super(collection);
        }
        
        public Iterable<T> reversed(){
            return new Iterable<T>() {
    
                @Override
                public Iterator<T> iterator() {
                    return new Iterator<T>() {
                        int idx = ReversibleArrayList.this.size() - 1;
    
                        @Override
                        public boolean hasNext() {
                            return idx > -1;
                        }
    
                        @Override
                        public T next() {
                            return ReversibleArrayList.this.get(idx--);
                        }
    
                        @Override
                        public void remove() {
                            throw new UnsupportedOperationException();                        
                        }                    
                    };
                }
                
            };
        }
        
        public static void main(String[] args) {
            ReversibleArrayList<String> list = new ReversibleArrayList<String>(
                    Arrays.asList("To be or not to be".split(" ")));
            
            for (String s : list) {
                System.out.println(s);
            }
            
            System.out.println("----------------");
            
            for (String s : list.reversed()) {
                System.out.println(s);
            }
        }
    
    }
  • 相关阅读:
    实战练习6—水波纹制作
    实战练习5—冰块中的效果
    实战练习4—逼真眼泪
    5、选择工具&描边
    实战练习3-修饰服装皱褶
    实战练习2—方块
    实战练习1—照片的局部放大
    23、裁剪
    iOS 处理第三方SDK冲突问题
    iOS 修改启动图无效
  • 原文地址:https://www.cnblogs.com/wucg/p/3937064.html
Copyright © 2011-2022 走看看