集合框架常用子類構架體系

2021-08-09 18:32:20 字數 1392 閱讀 9992

集合框架的常用子類構架:

|--list::有序的,帶索引的,通過索引就可以精確的操作集合中的元素,元素是可以重複的。

list提供了增刪改查動作   

增加add(element) add(index,element)  ;

刪除remove(element) remove(index);

修改set(index,element);

查詢get(index);

|--vector:可以增長的陣列結構。同步的。效率非常低。已被arraylist替代。

|--arraylist:是陣列結構,長度是可變的(原理是建立新陣列+複製陣列),查詢速度很快,增刪較慢,不同步的。

|--linkedlist:是鍊錶結構,不同步的,增刪速度很快,查詢速度較慢。

可用於實現堆疊,佇列。

list可以儲存重複元素的,如果需求中要求容器中的元素必須保證唯一性。

|--set:不包含重複元素的集合,不保證順序。而且方法和collection一致。set集合取出元素的方式只有一種:迭代器。

|--hashset:雜湊表結構,不同步,保證元素唯一性的方式依賴於:hashcode(),equals()方法。查詢速度快。

|--treeset:可以對set集合中的元素進行排序。使用的是二叉樹結構。如何保證元素唯一性的呢?

使用的物件比較方法的結果是否為0,是0,視為相同元素不存。

元素的排序比較有兩種方式:

1,元素自身具備自然排序,其實就是實現了comparable介面重寫了compareto方法。

如果元素自身不具備自然排序,或者具備的自然排序不是所需要的,這時只能用第二種方式。

2,比較器排序,其實就是在建立treeset集合時,在建構函式中指定具體的比較方式。

需要定義乙個類實現comparator介面,重寫compare方法。

到此為止:在往集合中儲存物件時,通常該物件都需要覆蓋hashcode,equals,

同時實現comparale介面,建立物件的自然排序。通常還有乙個方法也會複寫tostring();

看集合物件的小技巧:★★★★★★

集合分體系。list  set

子類物件的字尾名是所屬體系,字首名是資料結構名稱。

list:新出的子類都是以list結尾的,通常都是非同步的。

|--arraylist :看到array,就知道陣列,查詢速度快。

|--linkedlist:看到link,就知道鍊錶,增刪速度快。

set:

|--hashset:看到hash,就知道雜湊表,查詢速度更快,並想到元素唯一,通過hashcode(),equals方法保證唯一性。

|--treeset:看到tree,就知道二叉樹,可以排序,排序想到comparable-compareto comparator--compare方法。

集合框架的體系

最基本的集合介面。遍歷collection集合 呼叫iterator 的方法,返回迭代子,可由迭代子直接訪問每個元素,如下 iterator it collection.iterator 獲得乙個迭代子 while it.hasnext 繼承collection的介面主要有 list,set。繼承自...

集合框架中子類特點

list 元素是有序的,元素可以重複,因為該集合體系有索引 1.arraylist 底層的資料結構是陣列結構。特點 查詢速度快,但是增刪相對較慢,執行緒不同步。2.linkedlist 底層資料採用的是鍊錶結構的。特點 增刪較快,查詢較慢。2.vector 底層的資料結構是陣列結構。特點 執行緒同步...

Java筆記 List集合常用子類

在list集合中,有三個重要的常用子類 vector,arraylist,linkedlist。1.vector 內部是陣列資料結構,執行緒安全。增刪,查詢都很慢。2.arraylist 內部是陣列資料結構,執行緒不安全,替代vector,查詢速度快,增刪速度慢。如果需要使用多執行緒,我們可以給ar...