實現優點
缺點適用範圍
特點arraylist
linkedlist
vector
以可變陣列實現的列表,不支援同步
以雙向鍊錶實現的列表,不支援同步
以可變陣列實現的列表,支援同步,適合多執行緒下使用
利用索引位置可以快速定位訪問
順序訪問高效,中間插入和刪除高效
支援多執行緒
指定位置插入、刪除效率低
隨機索引訪問效率低
非同步下優先採用arraylist
適合變動不大、主要用於查詢的資料
適用於經常要變化的資料
適用於多執行緒
容器填滿時自動擴充50%
容器大小隨增刪及時變化
arraylistarraylist=new arraylist<>();
arraylist.add(1);arraylist.add(2);//新增到末尾
arraylist.add(new integer(5));
arraylist.add(9);//自動裝箱,將int 型別9裝箱為integer
arraylist.add(1,3);//在索引位置為1的地方新增3,即新增元素為第二個元素
arraylist.remove(2);//刪除索引位置為2元素,即刪除第三個元素「=」進行複製,實際是兩個變數指向同一物件,arraylist2進行刪除或新增,arraylist也會發生相同變化,即兩個指標操作同一物件
arraylistarraylist2=new arraylist<>();"clone"進行複製,arraylist2指向新產生的物件,互不干擾arraylist2=arraylist;
arraylist2.remove(1);
arraylistarraylist2=new arraylist<>();arraylist2=(arraylist) arraylist.clone();
arraylist2.remove(1);
arraylist=(arraylist) arraylist.sublist(1, 3);//原列表第2-4個元素組成的列表
int a=arraylist.indexof(3);//第一次出現的位置int b=arraylist.lastindexof(3);//最後一次出現的位置
for(integer item:arraylist)
for(int i=0;iiteratoriterator=arraylist.iterator();while(iterator.hasnext())
linkedlistlinkedlist=new linkedlist<>();
linkedlist.add(1);linkedlist.add(2);//新增到末尾
linkedlist.add(new integer(5));
linkedlist.add(9);//自動裝箱,將int 型別9裝箱為integer
linkedlist.add(1,3);//在索引位置為1的地方新增3,即新增元素為第二個元素
linkedlist.remove(2);//刪除索引位置為2元素,即刪除第三個元素「=」進行複製,實際是兩個變數指向同一物件,linkedlist2進行刪除或新增,linkedlist也會發生相同變化,即兩個指標操作同一物件linkedlist.remove();//刪除列表頭部元素
linkedlistlinkedlist2=new linkedlist<>();"clone"進行複製,linkedlist2指向新產生的物件,互不干擾linkedlist2=linkedlist;
linkedlist2.remove(1);
linkedlistlinkedlist2=new linkedlist<>();linkedlist2=(linkedlist) linkedlist.clone();
linkedlist2.remove(1);
int a=linkedlist.indexof(3);//第一次出現的位置int b=linkedlist.lastindexof(3);//最後一次出現的位置
for(integer item:linkedlist)
for(int i=0;iiteratoriterator=linkedlist.iterator();while(iterator.hasnext())
列表容器list
相對於vector來說,list比較複雜,允許插入,刪除,list節點不保證在儲存空間連續存在,所以必須有指向它的節點,它是雙向環狀鍊錶,需要乙個指標,api為 push front x 把元素 x推入 插入 到鍊錶頭部 pop front 彈出 刪除 鍊錶首元素 merge listref 把 l...
Java集合框架(JCF)
框架 為了解決某一問題,而預先設計的一系列具有繼承關係或實現關係的類與介面 集合 1.任意資料型別的元素均可以放入 2.容器可增,可減,數量任意 3.非連續空間 常見的四個類 1.hashset 2.arraylist 3.linkedlist 4.hashmap 核心的介面 i list 特點 線...
Java集合框架(JCF)
集合的由來 1 處理多個相同資料我們採用陣列,但陣列空間固定不能動態增長,插入或刪除元素比較麻煩。我們使用集合來解決這個問題。2 集合特點 元素型別可以不同 集合長度可變 空間不固定。概念 為了解決某乙個特定的問題,預先設計好的一系列具有繼承或者實現關係的類介面。collections arrays...