底層採用陣列儲存元素,具有高效的查詢效率,但是增刪效率低。
一般我們採用多型的方式建立集合,但是arraylist因為是實現類所以也可以建立。
arraylist集合中的方法與其父介面list差不多相同。
下面是使用arraylist集合的案例:
去除arraylist集合中重複元素。(因為list集合特點是元素有序可重複)
方法一:建立新集合
arraylist list2=
newarraylist()
; list2.
add(
100)
; list2.
add(
"da");
list2.
add(
100)
; list2.
add(
"da");
list2.
add(3)
; list2.
add(
100)
; list2.
add(
"da");
list2.
add(
100)
; list2.
add(
"da");
list2.
add(3)
; list2.
add(3)
;//方法一,遍歷舊集合,對新集合進行判斷,如果新集合中沒有舊集合中的元素就將該元素新增進去
arraylist list3=
newarraylist()
;for
(int i =
0; i size()
; i++
)}
方法二:不建立新集合,使用for迴圈
//方法二:雙重for迴圈,對集合進行雙重遍歷,外層迴圈拿出乙個元素與內層迴圈的每乙個元素進行比較,要是發現重複的元素就移除該元素。
//需要注意的是,內層迴圈的開始下標要要對外層迴圈的開始下標加一,因為外層迴圈的元素不能和自身相比。
//找到乙個相同元素進行刪除,需要將內層迴圈的指標進行自減,因為刪除乙個元素,集合的長度就會變小,後面沒有進行比較的元素會因為刪除前面的元素沒有和外層迴圈的元素進行判斷,就會發生漏判情況。
for(
int i =
0; i size()
; i++)}
}
vector集合底層和arraylist集合一樣,都是以陣列存放元素,但是vector對於執行緒是安全的,效率比arraylist集合低。
vector集合中有特有的功能,有自己特有的迭代器。
public void addelement(e obj)
將指定元素新增到vector集合的末尾
public e elementat(int index)
返回指定位置的元素
public boolean removeelement(object obj)
移除vector集合中的第乙個匹配的元素,如果集合中不包含該元素,則元素保持不變
public void removeelementat(int index)
移除vector集合中指定索引上的元素
public void setelementat(e obj, int index)
將此向量指定的index處的元件設定為指定的物件
public enumerationelements()
返回此向量的元件的列舉
public
static
void
main
(string[
] args)
}
linkedlist集合底層是通過鍊錶儲存元素,所以該集合類的特點是:查詢慢,增刪快。
linkedlist類特有功能:
public void addfirst(e e)
將指定元素插入到此列表的開頭
public void addlast(e e)
將指定元素插入到此列表的結尾
public e getfirst()
得到該列表的第乙個元素
public e getlast()
得到該列表的最後乙個元素
public e removefirst()
移除並返回此列表的第乙個元素
public e removelast()
移除並返回此列表的最後乙個元素
public
static
void
main
(string[
] args)
Java集合之List集合的三個子實現類
一.list集合的子實現類特點 list集合有三個子實現類 arraylist 底層資料結構式陣列結構,查詢塊,增刪慢 從記憶體角度考慮 執行緒不安全的,不同步的,執行效率高 多執行緒 synchronized 同步的意思 解決執行緒安全問題 sychronized 鎖物件 解決執行緒安全問題,通過...
java中List的三個實現類
list用於存放多個元素,可以維護元素次序,且允許重複。它一共有三個實現類 arraylist vector linkedlist。它們的區別如下 1 arraylist 內部通過陣列實現,允許快速隨機訪問元素,如查詢和遍歷,但不適合插入和刪除,因為需要進行複製 移動,代價比較高 元素之間不能有間隔...
集合 List介面及實現類
list部分思維導圖 list介面是乙個有序的 collection,list介面能夠精確的控制每個元素插入的位置,能夠通過索引 元素在list中位置,類似於陣列的下標 來訪問list中的元素,第乙個元素的索引為 0,而且允許有相同的元素。特點 list 介面儲存一組不唯一,有序 插入順序 的物件。...