Linux學習筆記之管道符、重定向與環境變數
特點:
a) 有序(儲存和取出的元素順序一致),可重複
b) 特有功能
1. 新增功能
void add(int index,Object element)在指定位置新增元素(原索引處的元素後延)
2. 獲取功能
Object get(int index)獲取指定位置的元素
3. 列表迭代器
(1). ListIterator listIterator() List集合特有的迭代器
(2). Iterator迭代器的子類,所以其可以用Iterator中的boolean hasNext()、Object next()方法
(3). 特有的方法:
a) Object previous ()返回此處位置的前一個的元素,並移動到前一個位置。
b) boolean hasPrevious()判斷此處的前一個位置是否有元素
c) 逆向遍歷必須先正向遍歷使指標指到後面位置才能使用(使用意義不大)
4. 迭代器遍歷元素時不能直接通過集合修改元素,怎麼辦?
a) 迭代器修改元素
1. List迭代器有修改方法,Collection中的迭代器沒有
2. 通過迭代器中add(object obj)方法新增,跟在剛才迭代元素後面
b) 通過集合遍歷元素,並用集合修改元素(for迴圈遍歷):通過集合中add(object obj)方法新增,跟在集合最後面
5. 迭代器遍歷例項例項在下面給出
(1). 刪除功能
Object remove(int index)根據索引刪除指定的元素,並返回刪除的元素
(2). 修改功能、
Object set(int index,Object element)根據索引修改元素,返回被修改的元素
(3). 陣列轉成集合
① public static List asList(T… a),返回型別為List型別
② a為集合,此處的… 代表可變引數,也就是a的陣列元素個數可變
③ 此方法是Arrays類中的靜態方法
④ 陣列轉變為集合,實質還是陣列需要保證長度不變,所以不支援增刪集合元素,可以修改元素
c) List子類的特點:
1. ArrayList:
(1). 底層資料結構是陣列,查詢快、增刪慢
(2). 執行緒不安全,效率高
2. Vector:
(1). 底層資料結構是陣列,查詢快,增刪慢
(2). 執行緒安全,效率底
3. LinkedList:
(1). 底層資料結構是連結串列,查詢慢,增刪快
(2)執行緒不安全,效率高