Map家族 1、頂層接口:MapK,V 實現:定義了 鍵值對的存儲 的抽象接口 常用方法:put() get() remove() containsKey() entrySet() keySet() values() 底層:只是規範,並不關心具體數據結構 應用:統一API,讓不同實現類有相同的使用方式 作用:抽象層,解耦調用方與實現類 2、HashMap
集合論是數學的一個分支,研究集合、它們的運算和它們的性質。 集合由不重複的項組成。 基本符號 運算符 並運算符,∪,表示“或”; 交運算符,∩,表示“且”;差 運算符,\,表示“不包括”; 補運算符,',表示補集; 叉積運算符,×,表示笛卡爾積。 限定詞 冒號限定詞,:,表示“使得”; 從屬限定詞,∈,表示“屬於”; 子集限定詞,⊆,表示“是……的子集”; 真子集限定
ArrayDeque(JDK雙端隊列)源碼深度剖析 前言 在本篇文章當中主要跟大家介紹JDK給我們提供的一種用數組實現的雙端隊列,在之前的文章LinkedList源碼剖析當中我們已經介紹了一種雙端隊列,不過與ArrayDeque不同的是,LinkedList的雙端隊列使用雙向鏈表實現的。 雙端隊列整體分析 我們通常所談論到的隊列都是一端進一端出,而雙端隊列的兩端則都是可進可出。下面是雙端隊列的幾個
深入剖析(JDK)ArrayQueue源碼 前言 在本篇文章當中主要給大家介紹一個比較簡單的JDK為我們提供的容器ArrayQueue,這個容器主要是用數組實現的一個單向隊列,整體的結構相對其他容器來説就比較簡單了。 ArrayQueue內部實現 在談ArrayQueue的內部實現之前我們先來看一個ArrayQueue的使用例子: public void testQueue() { Arr
問題現象 今天偶然看到了一個 JDK 的 Bug,給大家分享一下。 假設現在有如下的代碼: ListString list = new ArrayList(); list.add("1"); Object[] array = list.toArray(); array[0] = 1; System.out.println(Arrays.toString(array)); 上面的代碼是可以正常支執行