【Java集合类:Collection--List, Set, Map】

1.JAVA集合类

  最常用的集合有List, Set 和 Map

  List ------------LinkedList

  ------------ArrayList

  ------------Vector

  |-------Stack

  Set------------HashSet

  |-------LinkedHashSet

  -------------SortedSet

  |------TreeSet

  对于它们的数据是否可以重复出现,是否有序,有如下特点:

  2.List

  2.1 ArrayList

  List的本质是array。 它在插入操作时会自动增加其大小,如下图的JDK 1. 6提供的源码:

  [java]

  private transient Object[] elementData; //elementData是一个数组

  public void ensureCapacity(int minCapacity) {

  modCount++;

  int oldCapacity = elementData.length;

  if (minCapacity > oldCapacity) {

  Object oldData[] = elementData;

  int newCapacity = (oldCapacity * 3)/2 + 1; //每次自动增加windows xp sp3纯净安装版xp系统下载适量长度

  if (newCapacity < minCapacity)

  newCapacity = minCapacity;

  // minCapacity is usually close to size, so this is a win:

  elementData = Arrays.copyOf(elementData, newCapacity); //拷贝旧数组到新数组,增加长度

  }

  }

  public void add(int index, E element) { //时间复杂度: O(n)

  if (index > size || index < 0)

  throw new IndexOutOfBoundsException(

  "Index: "+index+", Size: "+size);

posted @ 2013-08-26 10:02  豆豆逗逗  阅读(180)  评论(0编辑  收藏  举报