1. 程式人生 > >java集合的學習筆記

java集合的學習筆記

搜狗 tac 查詢 功能 ash 應該 情況下 內容 方式

不知不覺也到了java集合這一章的學習,這因該是挺重要的一個章節,因為所有的程序都離不開數據,而一個良好的數據結構和算法應該是程序的靈魂吧。

今天對自己所初步了解的做一個總結:

數據結構是計算機存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索算法和索引技術有關。(ps:來源於搜狗百科)

在有些編程語言中,它並沒有將這些性能各異的數據結構寫入到其中,所以使用這些編程語言的人就只能自己一步步實現數據結構的算法,但是在java語言中,java將性能各異的數據結構給封裝在的java的集合中,這樣可以使編程人員不用再一步步實現數據結構的算法,只需要根據自己所需要的選擇最優的數據結構即可。

簡單了解的幾種數據結構:

  • 數組:能夠較快的進行查詢和替換功能,但是對於較大的數組來說增加(改變元素的索引,和可能產生擴容)和刪除(可能改變元素的索引)會使性能降低;
  • 鏈表(LinkedList):

    單項鏈表中一個鏈表元素包含了:一個保存的內容,一個指向下一個鏈表元素的節點;

    雙向鏈表中則多了一個指向上個鏈表元素的節點;

    優點是可以使增加和刪除元素的速度提高。

  • 隊列(Queue):隊列是先進先出的,隊列可以在尾部添加元素,頭部刪除元素;
  • 棧(Stack):先進後出,棧最後添加的元素稱為棧頂,最先添加的元素稱為棧低,填入元素稱為壓棧;
  • 哈希表(HashTable):數組的值和索引之間存在一種對應的關系, 索引————(存在某種關系)————value

    它最大的優點是提高了查詢效率,並且它保存的元素是不允許重復的

  ...................

  我並沒有系統的學習關於數據結構的知識,這些都是道聽途說的,等穩定下來後,一定得好好的補補這些知識。

java集合的學習筆記