黑馬程序員---Java中的集合(二)--List派系
上一篇總結了集合框架中老大Collection,這篇總結它下面的幾個小弟List派系
1.List派系
List是一個接口,是這個列表清單的頂層接口 。他下面有這些小弟
數組鏈表ArrayList,鏈表LinkedList,數組Vector
凡是List集合中的所有小弟,特點:
A . 存儲到List集合中的對象,有序排列的 123 abc
B. 存儲的時候,和取出的時候順序一致
C. List集合允許存儲重複對象
D. List集合存儲的對象都有下標
//================================================
2.List接口中的方法
void add(int index, E element) 在一個指定的位置上,插入一個對象
Object get(int index)通過下標,獲取指定下標上的元素 。通過for循環遍歷也可以獲取集合。
Object remove(int index)通過下標,移除指定的元素 .返回的是,被刪除的那個元素
Object set(int index, Object Element)修改指定位置上的元素 。
List subList(int fromIndex, int toIndex) 獲取集合一部分,返回新集合 subtring
listIterator() 返回List特有迭代器對象
//================================================
3.List派系的特有迭代器ListIterator
A.正向遍歷集合,逆向遍歷集合 。遍歷的過程中,可以修改集合,包括增加,刪除
B.逆向遍歷的 前提條件,正向遍歷一次
hasPrevious() == hasNext()
previous() == next()
使用List集合進行特有的逆向遍歷的案例:
//使用List集合進行特有的逆向遍歷
private static void method_1(){
List list = new ArrayList();
list.add("abc1");
list.add("abc2");
list.add("abc3");
list.add("abc4");
ListIterator lit = list.listIterator();
//前提條件,正向遍歷一次
while(lit.hasNext()){
System.out.println(lit.next());
}
System.out.println("=========================");
while(lit.hasPrevious()){
System.out.println(lit.previous());
}
}
//=====================================================
4. ArrayList類
1. 底層數據結構是數組,可變的數組
2. 增長率50%
3. 查詢快,增刪慢
4. 線程不安全,執行效率很高
5. 需要集合存儲對象的時候,如果迭代比較頻繁,首先考慮使用ArrayList
增insert 刪delete 改update 查select
//=====================================================
5. Vector 類
這個集合的底層數據結構,是可變數組結構
查詢快,增刪慢
Vector增長率100%
Vector集合線程安全的,執行效率低
從1.2版本開始,ArrayList取代Vector
//=====================================================
6. LinkedList類
LinkedList底層數據結構,鏈表數據結構
查詢慢,增刪快
線程不安全,執行效率高
LinkedList自己特有的方法
void addFirst(E e)
將指定元素插入此列表的開頭。
void addLast(E e)
將指定元素添加到此列表的結尾。
E removeFirst()
移除並返回此列表的第一個元素。
E removeLast()
移除並返回此列表的最後個元素
E getFirst()
返回此列表的第一個元素。
E getLast()
返回此列表的最後一個元素。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.