- Java高并發(fā)與集合框架:JCF和JUC源碼分析與實現(xiàn)
- 銀文杰
- 790字
- 2022-08-16 17:28:43
第I部分 Java集合框架
Java集合框架(Java Collection Framework,JCF)是Java標準平臺(J2SE)的重要組成部分,也是Java程序員必須掌握的關鍵知識。從Java誕生之初,Java集合框架就一直在改進、演化。目前,如果根據(jù)操作特性劃分Java集合框架,則可以將其分成四大部分:List集合(線性集合)、Set集合(去重集合)、Queue集合(隊列集合)和Map集合(K-V鍵值對集合);如果根據(jù)工作場景特性劃分Java集合框架,則可以將其分成支持高并發(fā)場景的集合和不支持高并發(fā)場景的集合;如果根據(jù)提供者劃分Java集合框架,則可以將其分成原生集合和由第三方組織提供的集合,如圖I-1所示。

圖I-1
? List集合:此類集合的基本特點是,集合內(nèi)部使用一種線性表結構進行數(shù)據(jù)的實際存儲,程序員可以按照指定的數(shù)據(jù)存入順序獲取數(shù)據(jù),也可以按照需要操作集合的任意有效位置執(zhí)行數(shù)據(jù)的存取操作。
? Set集合:此類集合的基本特點是,通過某種特定的規(guī)則,對集合內(nèi)部的數(shù)據(jù)進行去重。此外,此類集合使用的是根據(jù)一定的內(nèi)置規(guī)則確定的數(shù)據(jù)存儲順序,不一定使用程序員將數(shù)據(jù)存入集合的先后順序。
? Queue集合:此類集合的基本特點是,程序員可以按照數(shù)據(jù)在集合中先入先出(FIFO)的順序或先入后出(FILO)的順序,從集合頭部或集合尾部進行數(shù)據(jù)讀/寫操作。
? Map集合:此類集合主要用于讀/寫K-V鍵值對形式的數(shù)據(jù),并且數(shù)據(jù)的Key鍵信息在此類集合中不允許有重復。具體的集合實現(xiàn)可以根據(jù)適用場景自行決定是否向程序員提供按照數(shù)據(jù)寫入順序進行數(shù)據(jù)讀取的工作特性。
除了由Java標準平臺(J2SE)提供的豐富的、可覆蓋大部分使用場景的原生集合外,大量第三方組織也遵循(或部分遵循)Java容器框架的設計規(guī)范,提供了大量集合供自身功能或程序員使用。例如,Google Guava工具包提供了多種高性能集合實現(xiàn),如ImmutableList、ImmutableSet、ImmutableMap等。
Java原生提供的各類集合,其性能雖然不是最優(yōu)秀的,但這些集合的內(nèi)部設計思想值得程序員借鑒到自己的日常工作中。該部分內(nèi)容會為讀者介紹Java原生的基本集合功能,對這些集合的內(nèi)部工作原理進行剖析。
- 自制編譯器
- Visual Basic 6.0程序設計計算機組裝與維修
- Visual Basic程序設計(第3版):學習指導與練習
- Python零基礎快樂學習之旅(K12實戰(zhàn)訓練)
- 區(qū)塊鏈:以太坊DApp開發(fā)實戰(zhàn)
- Learning Neo4j 3.x(Second Edition)
- Windows Presentation Foundation Development Cookbook
- Practical Game Design
- Java Web程序設計任務教程
- C語言程序設計上機指導與習題解答(第2版)
- 零基礎學C語言第2版
- 菜鳥成長之路
- Illustrator CS6中文版應用教程(第二版)
- Python編程:從入門到實踐(第2版)
- Responsive Web Design with HTML5 and CSS3(Second Edition)