zoukankan      html  css  js  c++  java
  • Java集合框架之ArrayList浅析

    Java集合框架之ArrayList浅析

    一、ArrayList综述:

      位于java.util包下的ArrayList是java集合框架的重要成员,它就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,jdk1.8中对ArrayList的定义如下

      public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable

      可见ArrayList继承自AbstractList,主要实现了List接口

      ArrayList底层采用数组存储元素的,所以ArrayList适合查询,不适合频繁的随机增删元素

      可以说 ArrayList 是我们使用最多的 List 集合,它有以下特点:

      • 容量不固定,想放多少放多少(当然有最大阈值,但一般达不到)
      • 有序的(元素输出顺序与输入顺序一致)
      • 元素可以为 null
      • 效率高
        • size(), isEmpty(), get(), set() iterator(), ListIterator() 方法的时间复杂度都是 O(1)
        • add() 添加操作的时间复杂度平均为 O(n)
        • 其他所有操作的时间复杂度几乎都是 O(n)
      • 占用空间更小
        • 对比 LinkedList,不用占用额外空间维护链表结构

    二、方法摘要:

      2.1构造方法摘要:

    ArrayList()
              构造一个初始容量为 10 的空列表。
    ArrayList(Collection<? extends E> c)
              构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
    ArrayList(int initialCapacity)
              构造一个具有指定初始容量的空列表。

      2.2方法摘要

    boolean add(E e)   将指定的元素添加到此列表的尾部。
     void add(int index, E element)   将指定的元素插入此列表中的指定位置。
     boolean addAll(Collection<? extends E> c)
              按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。
     boolean addAll(int index, Collection<? extends E> c)
              从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。
     void clear()   移除此列表中的所有元素。
     Object clone()   返回此 ArrayList 实例的浅表副本。
     boolean contains(Object o)   如果此列表中包含指定的元素,则返回 true
     void ensureCapacity(int minCapacity)
              如有必要,增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数。
     E get(int index)   返回此列表中指定位置上的元素。
     int indexOf(Object o)  返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。
     boolean isEmpty()   如果此列表中没有元素,则返回 true
     int lastIndexOf(Object o)   返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1。
     E remove(int index)   移除此列表中指定位置上的元素。
     boolean remove(Object o)   移除此列表中首次出现的指定元素(如果存在)。
    protected  void removeRange(int fromIndex, int toIndex)
              移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的所有元素。
     E set(int index, E element)   用指定的元素替代此列表中指定位置上的元素。
     int size()   返回此列表中的元素数。
     Object[] toArray()   按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。
    <T> T[]
    toArray(T[] a)
              按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
     void trimToSize()   将此 ArrayList 实例的容量调整为列表的当前大小。

    参考:http://blog.csdn.net/u011240877/article/details/52853989

  • 相关阅读:
    css设置兼容的透明样式
    mybatis 使用oracle merge into 语句踩坑实录
    eclipse导入SVN上的Maven多模块项目
    jquery.form插件中动态修改表单数据
    java的几种对象(po,dto,dao等)
    redis面试总结
    前段面试准备
    查询各科成绩最好的学生
    Github访问慢解决办法
    该文件有程序在使用
  • 原文地址:https://www.cnblogs.com/albertrui/p/8330898.html
Copyright © 2011-2022 走看看