Java Collections 集合类

2016-02-16  本文已影响0人  Sinexs

List

ArrayList

Method

构造方法

共三种

public ArrayList() {
this(10);
}

 - 指定大小构造方法

public ArrayList(int initialCapacity) {
super();
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal Capacity: "+ initialCapacity);
this.elementData = (E[])new Object[initialCapacity];
}


- 指定集合内容的构造方法

public ArrayList(Collection<? extends E> c) {
elementData = c.toArray();
size = elementData.length;
// c.toArray might (incorrectly) not return Object[] (see 6260652)
if (elementData.getClass() != Object[].class)
elementData = Arrays.copyOf(elementData, size, Object[].class);
}



######常用方法
 - ```contains(Object o)``` 判断是否包含某元素,使用equals对比
  ``` java
    boolean isContain = list.contains(object);
  list.remove(reference);
  // 返回-1代表未发现元素
  int index = list.indexOf(reference);
这里要注意,操作子集,会对原List进行影响。
如要对子集进行add/remove等操作,可以这样:
``` java
  List<Integer> sub = new ArrayList<Integer>(list.subList(3, 9));
    list.containsAll(sub);
   list.removeAll(sub);
list.set(9, e);
String[] array = new String[list.size()];
list.toArray(array);

扩容

扩容后的大小为原大小的1.5倍加1:

int newCapacity = (oldCapacity * 3)/2 + 1;

To Be Continue...

上一篇 下一篇

猜你喜欢

热点阅读