Java中的數據結構-開篇

0系列文章導航

  1. Java中的數據結構(一):PCollection接口定義、PArrayList的實現

一、 概述

當我開始準備求職的時候,接到的第一個面試電話的第一個問題就是你瞭解基礎的數據結構嗎?現在已經暈暈乎乎可以寫很多邏輯複雜的業務代碼了,非但沒覺得數據結構非常基礎,卻是覺得更加重要,無處不在,息息相關。所以決定重新梳理一下,並把自己的學習歷程,分享出來與大家一起進步。

1. 數據結構概述:

數據結構是相互之間存在一種或者多種特定關係的數據元素的集合。我的體會是:在程序運行、持久化的時候,會涉及大量數據對象需要運算和存儲,那麼怎麼高效率高可靠的組織他們之間的關係,就是數據結構存在的意義了。根據不同的使用場景特定,選擇合理的數據結構,會使程序更加安全高效。常見的數據結構包括:數組、鏈表、棧、隊列、樹、圖。。。

2. Java中的數據結構:

在Java.util包下,提供了List、Set、Map、Stack、Queue等數據結構的豐富實現,並通過Collections和Arrays提供了對集合類的便利操作。每種數據類型,都提供數組和鏈表的實現,有些事線程安全的有些不支持線程安全。此外還在concurrent包中提供支持併發的數據結構和工具。合理的選擇和使用這些集合類的,可以提高我們代碼的效率,學習其中的原理和底層的實現對我們合理的選擇和使用集合類幫助很大。

3. 本系列學習思路和組織方式:

這裏我們主要學習Java中的數據結構實現,對於樹結構的算法和複雜度等不過多的展開。主要的組織方式按照Collection、Map接口的的子接口和實現類的架構順序進行展開,如下圖。同時,對於同一個數據類型的的不同實現分別進行分析(如List 的ArrayList和LinkedList)。先學習一些比較簡單的結構實現,然後再循序漸進,比如首先會學習ArrayList、LinkedList,後面纔會學習HashMap等結構,最後再學習ConcurrentHashMap。。。

本系列學習筆記會結合JDK源碼,自己實現各種數據結構進而加深對JDK源碼和Java集合框架的理解。自己寫的集合框架的命名規則,是在jdk命名的基礎上加上一個字母P,例如我們的集合最頂層接口爲PCollection,迭代器接口爲PIterator;

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章