set中的資料沒有順序,不可以重複。
hashset:採用雜湊演算法實現的set;
hashset的底層是用hashmap實現的,因此查詢效率較高,由於採用hashcode演算法直接確定元素的記憶體位址,增刪效率也挺高的。
list中的資料有順序,可以重複。此介面的使用者可以成對列表中的每個元素的插入位置進行精確的定位,使用者可以根據元素的整數索引(在列表中的位置)訪問元素,並搜尋列表當中的元素;列表通常允許重複的元素,更精確的講列表通常允許滿足e1.equals(e2)條件的元素e1,e2並存,並且如果列表本身允許null元素的話,通常他們允許多個null元素。
其方法如下:
1.
void add(object element);
2.void add(int index,object element);
3.object
get(int index);
4.object
set(int index,object element);
5.object remove(int index);
6.int index(object o);//返回某一元素的索引,如果沒有該元素返回-1;
arraylist: 底層用陣列實現的list,特點是:查詢效率高 ,增刪效率低,不安全。
linkedlist:底層是雙向鍊錶實現的list,特點是:查詢效率低,增刪效率高,執行緒不安全。
vector:底層用陣列實現的list,特點:執行緒安全.
collection介面中定義的方法:
boolean add(object element);
boolean remove(object element);
boolean contains(object element);
int size();
boolean isempty();
void clear();
iterator iterator();
boolean containsall(collection c);
boolean addall(collection c);
boolean removeall(collection c);
boolean retainall(collection c); //交集
object toarray();
Collection介面,Map介面
1.collection是集合類的頂級介面,直接繼承介面喲list和set。list介面是有序的,元素可重複,有索引 其下有 arraylist 底層資料結構使用的是陣列結構,執行緒不同步,增刪慢,查詢快 linkendlist 使用雙向鍊錶結構,執行緒不同步,增刪快,查詢慢 vector 使用資料...
集合4 集合 Collection介面 Set介面
儲存無序的 不可重複的資料 三種實現類 注 1.set介面中沒有額外定義新的方法,使用的都是collection中宣告過的方法 2.向set中新增的資料,其所在類一定要重寫hashcode 和equals 且重寫的hashcode 和equals 盡可能保持一致 相等的物件具有相等的雜湊碼 以has...
集合collection介面
集合collection介面 多型的方式建立collection物件 引用實現類物件時,無法呼叫子類特有方法,平常遍歷 arraylist 集合時,我們可以通過 size 方法獲取,長度,get 方法獲取元素並列印輸出,但是這裡父類物件引用實現類時,無法呼叫子類獨有的 get 方法,就無法使用之前的...