集合框架中子類特點

2021-06-26 07:14:58 字數 864 閱讀 1903

list  元素是有序的,元素可以重複,因為該集合體系有索引

1.arraylist

底層的資料結構是陣列結構。特點:查詢速度快,但是增刪相對較慢,執行緒不同步。

2.linkedlist

底層資料採用的是鍊錶結構的。特點:增刪較快,查詢較慢。

2.vector

底層的資料結構是陣列結構。特點:執行緒同步,被arraylist取代了。

set:元素師無序的,元素不可以重複。

1.hashset:

底層是雜湊表結構。

hashset是如何保持資料唯一性的?

是通過元素的兩個方法hashcode()和equals()搞定的。

如果元素的hashcode相等則會判斷equals()是否返回true。

2.treeset:

底層結構是二叉樹。

可以對set元素集合進行排序。

保證元素唯一性的依據:comparato方法return 0;

(1)treeset排序的第一種方法

讓其自身具備比較性。元素需實現comparable介面,覆蓋comparsto方法。

comparato(object obj)

if(!(obj instanceof student))

throw new runtimeexception("型別不匹配");

student stu=(student)obj;

int num=this.nam.compareto(stu.name);

return num

(2)定義自己的比較器傳為引數傳入建立treeset的初始化中,

實現comparato介面  覆蓋compare(string s1,string s2)方法。

List Set集合以及子類的特點

是有序 可重複 可以有null的集合,就像我們的陣列一樣。我們可以吧list理解為乙個長度可變了陣列,而且提供了豐富的api。arraylist 底層是陣列的原理,元素可以重複,有順序,長度不固定,不是執行緒安全的,效率高。arratlist長度的變化 arratlist在新增資料的時候,初始長度為...

集合框架(List的三個子類的特點)

list的三個子類 面試題比較多 arraylist 底層資料是陣列,查詢快,增刪慢 執行緒不安全,效率高 jdk 1.2 vector 底層資料是陣列,查詢快,增刪慢 執行緒安全,效率低 jdk1.0出現,在1.2並到list中,一般不用,被淘汰 linkedlist 底層資料是鍊錶,查詢慢,增刪...

集合框架List的三個子類的特點

list的三個子類的特點 vector和arraylist的區別 vector是執行緒安全的,效率低 arraylist是執行緒不安全的,效率高 共同點 都是陣列實現的 arraylist和linkedlist的區別 arraylist底層是陣列結構,查詢和修改快 linkedlist底層是鍊錶結構...