容器學習筆記

2021-07-08 19:52:33 字數 1025 閱讀 9413

set:類似集合,無序,且不可重複

hashset:使用雜湊表進行儲存,對於新增和刪除元素比arraylist快

treeset:是乙個有序集,具有乙個傳入構造方法的建構函式

list:可重複,有序,可根據index對資料進行操作

可用for(型別 變數:list)進行遍歷

arraylist:可以看做動態陣列

linkedlist:鍊錶結構的list,可對頭、尾進行操作

map:關鍵字是唯一標識,不可重複,可按關鍵字進行操作,資料可重複

hashmap

treemap:按排序順序(公升序)儲存關鍵字/值對,允許快速檢索。

迭代器iterator:for(iterator i=list.iterator();i.hasnext();)可用於遍歷容器,i.next()可表示遍歷到的容器中的下乙個元素

listiterator:比iterator功能更強大,主要表現在:1.可以實現逆序的遍歷 hasprevious();previous();

2.有add()方法,可以向容器中新增元素

3.可以定位當前索引位置

4.對當前物件的修改set()

注意:使用previous時應注意游標的位置

comparable(物件內部)和comparator區別:

兩者都用於容器內物件的排序,可以在構建容器時作為引數傳遞,也可以使用collections.sortarrays.sort呼叫開始排序

comparable 是乙個物件本身就已經支援自比較所需要實現的介面,即容器裝的物件的類中實現

comparator 是乙個專用的比較器,當這個物件不支援自比較或者自比較函式不能滿足你的要求時,你可以寫乙個比較器來完成兩個物件之間大 小的比較。即使用時需要另外定義乙個類來實現介面。你想對整數採用絕對值大小來排序,integer 是不符合要求的,你不需要去修改 integer 類 

(實際上你也不能這麼做)去改變它的排序行為,只要使用乙個實現了 comparator 介面的物件來實現控制它的排序就行了。

容器學習筆記

python 容器 新建 例項 docker pull ubuntu docker it name web ubuntu bin bash exit docker ps docker ps a docker run webapt get update 公升級 apt get install y ng...

其他容器學習筆記

1 vector 沒有實現序列化介面 2 無參建構函式的預設值是10 3 新增資料需要判斷是否需要擴容,擴大為原來的2倍 3 很多方法新增了synchronized同步語句塊,是執行緒安全的 4 元素允許為空 5 jdk 1.0的產物,用的比較少了 6 遍歷資料用enumeration,不能用ite...

IOC容器學習筆記

ioc inversion of control 即控制反轉技術,其基本原理是基於所謂hollywood模式思想 don t call me i ll call you 思想。也就是說,所有的元件都是被動的,所有元件初始化和呼叫都有容器負責。元件處在容器當中,有容器負責管理。舉乙個例子,公司有一台聯...