日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java集合框架一览笔录

發布時間:2025/3/20 java 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java集合框架一览笔录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

1、集合概念

集合類主要負責保存、盛裝其他數據,因此集合類也被稱為容器類。所以的集合類都位于java.util包下,后來為了處理多線程環境下的并發安全問題,java5還在java.util.concurrent包下提供了一些多線程支持的集合類。

集合分為兩大類:Collection、Map。

Collection(集合),每個元素存儲單個數據(Java基本數據類型或者對象),通常這些元素都服從某種規則

  1) List必須保持元素特定的順序

  2) Set不能有重復元素

  3) Queue保持一個隊列(先進先出)的順序

Map(哈希),每個元素存儲 "鍵值對"的 數據。

2、集合與數組的區別?

數組在初始化時候就必須指定數組長度,因此數組只能保存固定個數的元素。

集合在初始化時候一般可以不指定集合大小,因此集合可以保存不確定個數的元素。

另外,集合的元素,存儲可以不僅是單個數據,還可以是 鍵值對 的數據。

3、集合類架構層次

Arrays和Collections是用來操作數組、集合的兩個工具類,例如在ArrayList和Vector中大量調用了Arrays.Copyof()方法,而Collections中有很多靜態方法可以返回各集合類的synchronized版本,即線程安全的集合實現,如果要用線程安全的結合類,首選java.util.concurrent并發包下的對應的集合類。

?java.util.concurrent并發包提供了基本線程安全的各類容器。其中隊列分為阻塞隊列、非阻塞隊列。

4、迭代器Iterator

通過Iterator,可以遍歷任何Collection類集合,Map的鍵集合或者值集合。

迭代器允許調用者在迭代過程中移除元素。

使用迭代器更加線程安全,因為它可以確保,在當前遍歷的集合元素被更改的時候,它會拋出ConcurrentModificationException。

什么是fail-fast

每次我們嘗試獲取下一個元素的時候,Iterator fail-fast屬性檢查當前集合結構里的任何改動。如果發現任何改動,它拋出ConcurrentModificationException。Collection中所有Iterator的實現都是按fail-fast來設計的。(并發容器則是fast-safe設計的)

fail-fast與fail-safe有什么區別?

Java.util包中的所有集合類都被設計為fail-fast的,而java.util.concurrent中的集合類都為fail-safe的。Fail-fast迭代器拋出ConcurrentModificationException,而fail-safe迭代器從不拋出ConcurrentModificationException。

?

更多請期待。(2017.9.19)

?

轉載于:https://my.oschina.net/langxSpirit/blog/1539700

總結

以上是生活随笔為你收集整理的Java集合框架一览笔录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。