Java中List的集合

List集合表明一個元素有序、可重複的集合,集合中的每個元素都有其對應的順序索引,List集合容許使用重複元素,能夠經過索引來訪問指定位置的集合元素。數組

1.List做爲Collection接口的子接口,固然可使用Collection接口裏面的全部的方法。並且因爲List集合有序他還有一些新方法,void add(int  index,Object element)將元素element插入到指定的位置;boolean addAll(int index,Collection c)將集合c所包含的全部元素都插入到List集合的index位置處;Object get(int index)返回集合index索引出的元素;int indexOf(Object o)返回對象o在List集合中一次出現的位置索引;int lastIndexOf(Object o)返回對象o在list集合中最後一次出現的位置索引;Object remove(int index)刪除並返回index索引處的位置;Object set(int index,Object element)將index出的索引出的元素替換成element對象,返回舊元素;List subList(int formIndex,int toIndex)返回索引formIndex到索引toIndex(不包含)處全部集合元素;void replaceAll(UnaryOperator  operator):根據operator指定計算規則從新設置List集合的全部元素;void sort(Comparator c):根據Comparator參數對List集合的元素排序。與set集合只提供一個Iterator()方法不一樣, List還提供了一個listIterator()方法,該方法返回一個ListIterator對象,ListIterator接口繼承了Iterator接口。專門操做List方法。ListIterator接口在Iterator接口基礎上增長了方法,boolean hasPrevious()返回該迭代器關聯的集合是否還有上一個元素。Object Previous()返回該迭代器的上一個元素;void  add(Object o)在指定位置插入一個元素。安全

2.ArrayList和Vector做爲list類的兩個典型實現,徹底支持前面介紹的List接口的所有功能,即ArrayList和Vector封裝了一個動態的、容許再分配的Object[] 數組ArrayList和Vector對象使用initialCapacity參數設置數組的長度,當向ArrayList或Vector中添加超過initialCapacity會自動的增加。還能夠爲ArrayList和Vector類提供分配Object[] 數組void ensureCapacity(int minCapacity):將ArrayList和Vector集合中的數組增長大於或等於minCapacity。void trimToSize();調整ArrayList或Vector集合的Object[]數組長度爲當前集合的長度,調用該方法減小存儲的空間。Vector類具備不少的缺點通常不多用,可是ArrayList是線程不安全而Vector線程安全的,還有就是Vector提供一個Stack子類,用於模擬棧這種數據結構.Stack也是一個很早的類有不少安全的、性能差,也不多使用,咱們會使用ArrayDeque也是List的實現類,ArrayDeque及實現了list也實現了Deque接口,能夠用來做爲棧來使用。數據結構

3.咱們經過Arrays該工具類裏面提供的asList(Object....a)方法,該方法把數組裝換一個List集合,但這個List集合既不是ArrayList的實現類,也不是Vector實現類的實例,而是Arrays的內部類ArrayList的實例。Arrays.ArrayL是一個固定長度的list集合,程序只能遍歷訪問裏面的元素,不可增長、刪除該集合的元素。工具

相關文章
相關標籤/搜索