集合(容器):1.
集(set
):不能重複,不按特定方式排序,使用自己內部的乙個排序機制。 2
列表(list
):線性方式儲存,可以排序,可以在任意位置插入元素,可以重複。 1.
對映(map
):成對的,關鍵字
/數值對;通過
key查詢,有自己內部排列機制,
key不能重複,值可以重複。
集合類是用來存放某類物件的,(不是基礎資料型別)
用集合成員之前必須對它重新塑造(強制型別轉換); 6
個介面,
5個抽象類,
8個實現類;
list
介面:
vector類:
實現了list
介面;該類實現了可變陣列
vector
類可以實現可增長的物件陣列。與陣列一樣,它包含可以使用整數索引進行訪問的元件。但是,
vector
的大小可以根據需要增大或縮小,以適應建立
vector
後進行新增或移除項的操作。
容量是成倍增加的。
方法:void addelement(object obj):
在集合的最後增加乙個元素;
void add(int index, object element)
:在指定位置增加乙個元素;
object elementat(int index)
:返回指定位置的元素;
void insertelementat(object obj, int index)
:在指定位置插入元素;
int capacity()
:返回當前容量;
int size
():返回集合元素的個數;
stack
:(堆疊)
stack
類是vector
類的子類,它是乙個「後進先出」的集合。
在堆疊中存入資料稱為「壓入」,取出資料稱為「彈出」。
object push(object item):
把形參物件壓入堆疊
object pop()
:彈出第一物件
object peek():
並不取出的情況下,看乙個物件
boolean empty
():是否為空。
arraylist
:實現了可變大小的陣列,它允許所有元素,包括
null
。arraylist
沒有實現執行緒同步;
容量是1.5倍增加
map介面:
hashtable:
作為key
的物件都必須實現
hashcode
物件和equals
方法;
第十二章 字典和集合
2 集合 本章涵蓋的主題有 建立簡單的字典 從檔案載入以及儲存到檔案中 集合操作 可以建立字串的索引,使索引更具有意義。在字典中,次序是無關緊要的,通過鍵 值對來匹配。dictionary 通過索引新增即可。grade dict grade dict myself 5 grade dict 7 gr...
第十二章 檔案
文字檔案 文字檔案是一種由若干字元構成的檔案,可以用文字編輯器進行閱讀或編輯。以txt py html等為字尾的檔案都是文字檔案。2.二進位制檔案 二進位制檔案一般是指不能用文字編輯器閱讀或編輯的檔案。以 mp4 png等為字尾的檔案都是二進位制檔案,如果想要開啟或修改這些檔案,必須通過特定軟體進行...
第十二章 dp
動態規劃策略 將原始問題拆分為多個子問題,將子問題結果記錄,方便復用子問題的解 遞迴 記憶化 遞推 是動態規劃的一體兩面,本質都是一樣的 遞推減少了呼叫次數,空間上還能優化,一般選擇遞推方式 遞迴 記憶化 int memo maxn 將o 2 n o n intfibonacci int n 遞推 ...