集合中的結構和幾個實現類
collection 無序 允許元素重複
set-abstractset 無序 不允許元素重複
和hashset
treeset 有序不允許元素重複
map-abstractmap 無序不允許元素重複
和hashmap
treemap 有序不允許元素重複
collection介面 用於表示任何物件或元素組。
1,單元素新增刪除操作。
boolean add(object o);將物件新增給集合。
boolean remove(object o);如果集合中有與o相匹配的物件,則刪除物件。
2,查詢操作
int size();返回當前集合中元素的數量;
boolean isempty();判斷集合中是否含有物件o
boolean contains(object o);查詢集合中是否含有物件o;
iteration iterator() 返回乙個迭代器,用來訪問集合中的各個元素。
3,組操作;
boolean cantainsall(collection c):查詢是否包含
boolean addall(collection c):從集合中刪除集合c 中不包含的元素
void clear() :刪除集合中的所有元素
void removeall(collection c),刪除集合c中所有的元素
void retain(collection c) :從集合中刪除集合c中不包含的元素
4,集合轉為陣列
toarray(),返回乙個內含集合所有元素的array
5,如果要遍歷collection,必須用iteration
list介面
1,對collection的簡單擴充,它的具體實現有arraylist和linkedlist
linkedlist 是內部實現是鍊錶,適用頻繁的插入和刪除操作。
arraylist 隨機訪問速度比較快
void add(int index,object element),在指定位置上新增元素element
boolean addall(int indecx,collection c):將集合c的所有元素新增到指定位置index
get(int index):返回list中的指定位置的元素。
int indexof(object o):返回第乙個出現o的位置,否則返回-1
int lastindexof(object o):返回最後乙個出線元素o的位置,返回-1;
remove(int index);刪除指定位置的元素
set(int index,object element);用element取代原來index位置上的元素,並且返回舊的元素。
2,迭代
list介面
1,listiterator 返回乙個列表迭代器,用來訪問列表中的元素
2,支援列表迭代,從指定位置開始訪問列表中的元素
3,返回從指定位置到到結束的範圍內的元素
linkedlist類新增了一些處理列表兩端元素的方法。
(1) void addfirst(object o): 將物件o新增到列表的開頭
void addlast(object o):將物件o新增到列表的結尾
(2) object getfirst(): 返回列表開頭的元素
object getlast(): 返回列表結尾的元素
(3) object removefirst(): 刪除並且返回列表開頭的元素
object removelast():刪除並且返回列表結尾的元素
(4) linkedlist(): 構建乙個空的鏈結列表
linkedlist(collection c): 構建乙個鏈結列表,並且新增集合c的所有元素
「使用這些新方法,您就可以輕鬆的把 linkedlist 當作乙個堆疊、佇列或其它面向端點的資料結構。」
arraylist類
arraylist類封裝了乙個動態再分配的object陣列。每個arraylist物件有乙個capacity。這個capacity表示儲存列表中元素的陣列的容量。當元素新增到arraylist時,它的capacity在常量時間內自動增加。
在向乙個arraylist物件新增大量元素的程式中,可使用ensurecapacity方法增加capacity。這可以減少增加重分配的數量。
(1) void ensurecapacity(int mincapacity): 將arraylist物件容量增加mincapacity
(2) void trimtosize(): 整理arraylist物件容量為列表當前大小。程式可使用這個操作減少arraylist物件儲存空間。
set介面:
set中的物件元素不能重複,你不能把同樣的東西放入同乙個set容器中。
hash表:
hash表是一種資料結構,用來查詢物件。hash表為每個物件計算出乙個整數。hash code。
map是一種把鍵物件和值物件進行關聯的容器。多級對映。鍵不能重複。
collection:表示集合
set:不允許重複的集合
list:可以有有重複元素的集合
map:鍵-值對映對
collection定義
collection c = new vector();
//vector 是collection集合介面的實現者。
c.add(0);
object arr=c.toarray();
for(object o:arr)
list
list a = new vector();
a.set(0,99);
stack 是一種先進後出的集合
boolean empty():是否為空;
e peek().檢視棧頂
e pop(),移除頂端,並返回物件
e push(e item) 把頂壓入棧頂;
int search(object o);返回物件在棧中的位置
stack a =new stack();
setset a = new hashset();
student s = new student("zhangsan",21);
a.add(s);
arraylist list = new arraylist();
陣列int intarray = new int[5];
map迭代方式
Python基礎六(集合 函式)
可變型別與不可變型別 函式3.不定長引數 4.引數的解包 使用 來建立集合 可以通過set 來將序列和字典轉換成集合 字典轉換成集合的時候,取的是字典的鍵key len 使用len 來獲取集合中元素的數量 add 像集合中新增元素 update 將乙個集合中的元素新增到另乙個集合當中 pop 隨機刪...
JMeter學習(六)集合點
jmeter也有像lr中的集合點,本篇就來介紹下jmeter的集合點如何去實現。jmeter裡面的集合點通過新增定時器來完成。注意 集合點的位置一定要在sample之前.集合點 簡單來理解一下,雖然我們的 效能測試 理解為 多使用者併發測試 但真正的併發是不存在的,為了更真實的實現併發這感念,我們可...
JMeter學習(六)集合點
jmeter也有像lr中的集合點,本篇就來介紹下jmeter的集合點如何去實現。jmeter裡面的集合點通過新增定時器來完成。集合點 簡單來理解一下,雖然我們的 效能測試 理解為 多使用者併發測試 但真正的併發是不存在的,為了更真 實的實現併發這感念,我們可以在需要壓力的地方設定集合點,拿那個使用者...