zoukankan      html  css  js  c++  java
  • java 集合框架 List相关接口

    AbstractCollection

    此类提供 Collection 接口的骨干实现,以最大限度地减少了实现此接口所需的工作。 还有两个抽象方法,具体的迭代器,具体的Collection 的大小

        public abstract Iterator<E> iterator();
    
        public abstract int size();
       //这里add 是实现方法,而不是已抽象方法的方式呢   
    /*
         To implement an unmodifiable collection, the programmer needs only to*
         extend this class and provide implementations
        for the iterator and size methods
      To implement a modifiable collection, the programmer must additionally override this class's add method
       
     为了实现一个不可修改的集合,程序员只需要扩展这个类并提供iteratorsize方法的实现。 ( iterator方法返回的迭代器必须实现hasNextnext )

      要实现可修改的集合,程序员必须另外覆盖此类的add方法(否则将抛出UnsupportedOperationException ),并且由iterator方法返回的迭代器必须另外实现其remove方法。

        */
      public boolean add(E e) {
        throw new UnsupportedOperationException();
        } 

    List 

    有序的 collection(也称为序列)。定义了一些针对List的方法

        
        boolean addAll(int var1, Collection<? extends E> var2);
     
        E get(int var1);
    
        E set(int var1, E var2);
    
        void add(int var1, E var2);
    
        E remove(int var1);
    
        int indexOf(Object var1);
    
        int lastIndexOf(Object var1);
    
        ListIterator<E> listIterator();
    
        ListIterator<E> listIterator(int var1);
    
        List<E> subList(int var1, int var2)
    AbstractList
    此类提供 List 接口的骨干实现,以最大限度地减少实现“随机访问”数据存储(如数组)支持的该接口所需的工作。和AbstractCollection实现了Collection的骨干实现一样
     //list结构被修改的次数   
    protected transient int modCount = 0;
    AbstractSequentialList 是 LinkedList的父接口
    此类提供的骨干实现List界面最小化以实现此接口由“连续访问”数据存储备份所需的工作(如链接列表)。对于随机访问数据(如数组), AbstractList应优先于此类。
    实现的add 方法
    public void add(int index, E element) {
            try {
          //  使用
    ListIterator 的 add方法
          listIterator(index).add(element); 
        }
    catch (NoSuchElementException exc)
      {

      throw new IndexOutOfBoundsException("Index: "+index);
    }
    }




  • 相关阅读:
    关于 No buffer space available (maximum connections reached?): connect 的处理
    Cron 表达式
    Hudson 打包部署到Was上特别慢
    JAVA jar 参数
    CentOS 6 UNEXPECTED INCONSISTENCY RUN fsck MANUALLY
    SSH 连接很慢
    解决libc.so.6: version `GLIBC_2.14&#39; not found问题
    Maven 基本参数
    Shc 应用
    JAVA 关于JNI本地库加载
  • 原文地址:https://www.cnblogs.com/alway-july/p/7588076.html
Copyright © 2011-2022 走看看