linkedlist

1/9ページ

自定義實現LinkedList

上一篇文章自定義實現了ArrayList集合,現在則自定義實現LinkedList。學過集合的讀者都知道,ArrayList的底層實現是用陣列實現,而LinkedList的實現則是用連結串列實現。那麼什麼是連結串列呢?其實可以把它比喻成一串珠子,珠子通過線來串連起來。要想找到中間的珠子,就只能通過第 […]

HashMap,Hashset,ArrayList以及LinkedList集合的區別,以及各自的用法

一、基礎內容 容器就是一種裝其他各種物件的器皿。java.util包 容器:Set, List, Map ,陣列。只有這四種容器。 Collection(集合) 一個一個往裡裝,Map 一對一對往裡裝。 Set:沒有順序,不可以重複。 List:有順序,可以重複。 互相的equals就算重複。 Ma […]

LinkedList原始碼解析

本文對LinkedList的實現討論都基於JDK8版本 Java中的LinkedList類實現了List介面,是一種連結串列型別的資料結構,支援高效的插入和刪除操作,同時也實現了Deque介面,使得LinkedList類也具有佇列的特性。LinkedList類的底層實現的資料結構是一個雙端的連結串列 […]

由LeetCode_633題引發的對演算法時間複雜度的思考以及ArrayList和HashSet底層實現的鞏固

今天在LeetCode刷題時碰到一個“怪題”,說難也不難,說不難我又花了很長時間,並且一直被困擾其中。百度參考別人意見,到最後解決,這個過程思考了很多,現在記下來。 原題:633. 平方數之和 描述: 給定一個非負整數 c ,你要判斷是否存在兩個整數 a 和 b,使得 a2 b2 = c。 示例1: […]

資料結構與演算法-棧與佇列

資料結構與演算法-棧與佇列 棧 基本概念 簡單表述就是僅在表尾進行插入和刪除操作的線性表。 常見操作 入棧和出棧, 均線上性表的尾部進行。 基本原則就是, 先入後出。 佇列 基本概念 和棧不同的是,佇列只允許在一端進行插入操作、而在另一端進行刪除操作的線性表。 常見操作 入佇列和出佇列。 基本原則就 […]