Java語言的java.util包中提供了一些集合類,這些集合類又被稱為容器。用來完善陣列的不足之處。集合類與陣列的不同之處是,陣列的長度是固定的,集合的長度是可變的;陣列用來存放基本型別的資料,集合用來存放物件的引用。常用的集合有List集合、Set集合、Map集合,其中List 與Set實現了Collection介面。各介面還提供了不同的實現類。
Collection介面是層次結構中的根介面。Collection介面不能直接使用,但該介面提供了新增和刪除、管理資料的方法。List介面和Set介面都實現了Collection介面,因此這些方法對List集合和Set集合是通用的。
List稱為有序集合(也稱為序列 )。 該介面的使用者可以精確控制列表中每個元素的插入位置。 使用者可以通過整數索引(列表中的位置)訪問元素,並搜尋列表中的元素。與集合不同,列表通常允許重複的元素。 更正式地,列表通常允許元素e1和e2成對使得e1.equals(e2) ,並且如果它們允許空元素,它們通常允許多個空元素。
List介面的常用方法
List介面繼承了Collection介面,因此包含Collection中的所有方法。又因為List是列表型別,所以List介面還提供了一些適合自身的常用方法。
方法 | 返回值 | 功能描述 |
add(int index, Object obj ) | void | 用來向集合中的指定索引位置新增物件,集合的索引位置從0開始,其它物件的索引位置相對向後移一位 |
add(Object obj ) | void | 將指定的元素追加到此列表的末尾 |
addAll(int index, Collection coll ) | boolean | 向集合指定索引位置新增指定的集合物件 |
remove(int index) | Object | 用來移除集合中指定索引位置的物件,並返回該物件 |
get(int index) | Object | 用於獲取指定索引位置的物件 |
indexOf(Object obj) | int | 該方法返回列表中物件第一次出現的索引位置,如果沒有則返回 -1 |
lastIndexOf(Object obj) | int | 該方法返回列表中物件最後一次出現的索引位置,如果沒有則返回 -1 |
subList(int fromIndex, int toIndex) | List | 獲取從索引fromIndex 到toIndex之間的元素物件 |
set(int index,Object obj) | Object |
用指定郵箱替換列表中指定位置的元素,並返回指定位置的元素 |
listIterator() | ListIterator | 獲取一個包含所有物件的ListIterator列表迭代器 |
List介面中適合自身的方法都與索引有關。由於List集合以線性方式儲存物件,因此可以通過物件的索引來操作物件。
在List集合的眾多方法中,add(int index, Object obj ) 方法和set(int index,Object obj) 有區別