1. 程式人生 > >Java集合--list接口

Java集合--list接口

collect rom 方法 容量 div 一次 列表 prev set

list是一個接口,實現類:Arraylist,Vector,Linkedlist

list接口:

常用方法 排除Collection中具有的之外的 添加功能 void add(int index, E element):在指定位置添加元素 boolean addAll(int index, Collection<? extends E> c):在指定位置添加一組元素 判斷功能 int indexOf(Object o):查找某個元素所在位置 int lastIndexOf(Object o):元素最後一次出現位置。 獲取功能 E get(int index):根據下標獲取元素 int size():返回集合的元素個數 List<E> subList(int fromIndex, int toIndex):根據下標獲取指定返回內的元素,返回一個新的集合 修改功能 E set(int index, E element):修改某個位置的元素,返回被修改元素。 E remove(int index):根據索引刪除元素,返回被刪除的元素。 特定叠代器 ListIterator<E> listIterator():獲取列表叠代器,開始位置0 ListIterator<E> listIterator(int index):獲取從指定位置開始的叠代器 ListIterator List集合特有的叠代器,在Iterator的基礎上進行了增強,可以獲取上一個元素,提供了以下方法: boolean hasPrevious():是否有上一個元素 E previous():獲取上一個元素 void add(E e):添加元素 void set(E e):用指定元素替換 next 或 previous 返回的最後一個元素(可選操作) void remove():從列表中移除由 next 或 previous 返回的最後一個元素(可選操作),而Iterator中只能替刪除next()元素 int nextIndex():返回對 next 的後續調用所返回元素的索引。 int previousIndex():返回對 previous 的後續調用所返回元素的索引。 List的遍歷 方法一:配合size()函數和get(index)函數使用for循環遍歷 方法二:使用iterator叠代器遍歷 方法三:使用ListIterator遍歷。 ArrayList: 特點:   1:大小可變   2:底層實現是數組,默認容量為10   3:擴容方式:原始容量+原始容量的一半   4:new ArrayList<>()的時候容量為0,第一次添加(add)之後容量為默認容量,最開始的時候存放數據的數組為{ }   5:線程不安全,讀寫塊,插入或者刪除效率低   6:叠代器是快速失敗的 Vector: 特點:   1:大小可變   2:底層實現是數組,默認容量為10   3:擴容方式:原始容量的2倍(如果使用public Vector(int initialCapacity, int capacityIncrement)來構造Vector,擴容方式為當前容量+capacityIncrement。new Vector<>()的時候就變為默認容量)   4:線程安全,讀寫快,插入,刪除效率低   5:由於效率低下,很少被使用,如果需要使用線程安全的數組,可以使用Vector來代替   6:叠代器是快速失敗的 LinkedList: 特點:   1:底層是雙向鏈表   2:線程不安全   3:查詢效率低,隨機插入和刪除快

Java集合--list接口