您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Java中如何使用集合框架,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
從集合框架圖中可以看出,分為兩類
以Collection為接口的元素集合類型,以Map為接口的映射集合類型
Collection類型又分為兩大類Set和List
所有集合的實現類都不是直接實現集合類接口,而是都繼承一個相應的抽象類
Set集合的特征:就是元素無重復,但是無序(所以Set接口以及實現類沒有按位置index操作的添加、刪除、訪問方法)
List集合的特征:集合有序排列,可以有重復元素,可以隨機訪問(使用位置index添加、刪除、訪問元素)
List的實現類有ArrayList,LinkedList,這兩個都是非線程安全的,Vector是線程安全的List實現類,Stack是vector的子類
ArrayList的內部實現是基于內部數組Object[],所以從概念上講,它更像數組,但LinkedList的內部實現是基于一組連接的記錄,所以,它更像一個鏈表結構
在ArrayList的前面或中間插入數據時,必須將其后的所有數據相應的后移,這樣必然要花費較多時間,所以,當你的操作是在一列數據的后面添加數據而不是在前面或中間,并且需要隨機地訪問其中的元素時,使用ArrayList會提供比較好的性能;
而訪問鏈表中的某個元素時,就必須從鏈表的一端開始沿著連接方向一個一個元素地去查找,直到找到所需的元素為止,所以,當你的操作是在一列數據的前面或中間添加或刪除數據,并且按照順序訪問其中的元素時,就應該使用LinkedList了。
Set的實現類有HashSet,TreeSet以及子類LinkedHashSet,這三個類是非線程安全的TreeSet是基于樹結構的集合,LinkedHashSet具備按照插入先后順序訪問的功能,HashSet訪問元素的順序是不確定的,TreeSet的訪問順序是按照樹接口的順序訪問的Map的實現類有HashMap,IdentityHashMap,WeakHashMap,TreeMap,以及LinkedHashMap子類,這些類都是非線程安全的,WeakHashMap是一種改進的HashMap,它對key實行“弱引用”,如果一個key不再被外部所引用,那么該key可以被GC回收。
HashTable是線性安全的,HashTable不能插入null空元素
看完上述內容,你們對Java中如何使用集合框架有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。