ArrayList使用详解

介绍ArrayList还是先从他的继承关系来说吧!我认为继承关系的理解也是很重要的,在需要用到向上和向下转型的时候,体会最为明显。好吧,闲话少叙。让我们认识这个类吧!

继承关系:(自顶向下)

  • 实现的接口:
    • SerializableCloneableIterable<E>,  Collection<E>,  List<E>,  RandomAccess
      • 直接子类:
    • 继承关系:
        • AbstractList<E>
          • · 实现接口:
          • List<E>, RandomAccess, Cloneable, Serializable
                • ArrayList<E>背景介绍完了,那这回开始入正题,介绍他自己。ArrayList<E>是一个可变的数组,实现了List接口。其所有的对象值可以为空。类提供了很多对于内部对象的处理方法。但是不同于Vector,该类是不同步的。

                  • 多个线程在同时访问ArrayList<E>对象或同时操作时,为了避免数据的不一致性,通常情况下使用Collections.synchronizedList来保持数据一致。使用如下所示:
                  • List list = Collections.synchronizedList(new ArrayList(...));

                    • 构造函数一共有三种形式:
                      • ArrayList();//构造初始容量为 10 的空列表
                        ArrayList(Collection<? extends E> c);//构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的
                        ArrayList(int initialCapacity);//使用initialCapacity的大小初始化列表

                    • 常用方法列表

    方法  
    返回类型 方法和描述
    boolean add(E e)
    将指定的元素添加到此列表的末尾
    void add(int index, E element)
    在列表index处添加元素element,index点后的数据整体后移
    boolean addAll(Collection<? extends E> c)
    所有追加指定collection中的元素添加到此列表的末尾
    boolean addAll(int index, Collection<? extends E> c)
    在指定的位置,插入所有指定集合中的元素插入此列表
    void clear()
    清空列表中的所有元素
    Object clone()
    返回一个浅复制实例
    boolean contains(Object o)
    判断列表中是否包含对象o
    void ensureCapacity(int minCapacity)
    增加ArrayList实例的容量
    E get(int index)
    返回列表index位置的实例
    int indexOf(Object o)
    返回此列表中的指定元素第一次出现的索引,如果此列表中不包含该元素返回-1
    boolean isEmpty()
    判断列表是否为空
    Iterator<E> iterator()
    返回一个迭代器在此列表中正确序列中的元素。
    int lastIndexOf(Object o)
    返回此列表中的指定元素的最后一个匹配项的索引,如果此列表中不包含该元素返回-1
    ListIterator<E> listIterator()
    返回一个列表迭代器在此列表中的元素(按适当顺序)
    ListIterator<E> listIterator(int index)
    从列表中的指定位置返回一个列表迭代器在此列表中的元素(按适当顺序)
    E remove(int index)
    移除列表中指定位置的实例
    boolean remove(Object o)
    移除对象实例o
    boolean removeAll(Collection<?> c)
    从这个列表中移除所有包含在指定集合中的元素
    protected void removeRange(int fromIndex, int toIndex)
    删除在[fromIndex,toIndex]之间的数据
    boolean retainAll(Collection<?> c)
    保留那些包含在指定集合中列出的元素
    E set(int index, E element)
    替换在此列表中指定位置的元素。
    int size()
    返回列表中包含元素的数量
    List<E> subList(int fromIndex, int toIndex)
    截取 [fromIndex,toIndex] 之间的数据并返回
    Object[] toArray()
    返回包含所有在此列表中正确的序列中元素的数组(从第一个到最后一个元素)
    <T> T[] toArray(T[] a)
    返回包含所有在此列表中正确的序列中的元素(从第一个到最后一个元素)数组; 返回数组的运行时类型是指定数组
    void trimToSize()
    去掉空的参数




    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值