collection是乙個介面,它有兩個子介面list和set,兩個子介面都繼承了他的方法
boolean
add(object e)
; 向集合中新增元素
void
clear()
; 清空集合中所有的元素
boolean
contains
(object o)
; 判斷集合中是否包含某個元素
boolean
isempty()
; 判斷集合中的元素是否為空
boolean
remove
(object o)
; 根據元素的內容來刪除某個元素
intsize
(); 獲取集合的長度
object[
]toarray()
; t[
]toarray
(t); 能夠將集合轉換成陣列並把集合中的元素儲存到陣列中
collection不支援下標訪問,只能使用迭代器
iterator
it = collection.
iterator()
while
(it.
hasnext()
)
iterator
it = collection.
iterator()
while
(it.
hasnext()
)
在使用迭代器或者使用增強for迴圈迭代集合時,如果同時去刪除或者增加集合中的元素,就會出現併發修改異常
迭代器是依賴於集合的,相當於集合的乙個副本,當迭代器在操作時,如果發現自己狀態和集合不一致時,就會丟擲異常
使用普通for迴圈操作迭代器,或者使用普通for迴圈遍歷
list也是介面,有兩個實現類,arraylist和linkedlist
void
add(
int index,e element)
;//將元素新增到index索引位置上
e get
(int index)
;//根據index索引獲取元素
e remove
(int index)
;//根據index索引刪除元素
e set
(int index,e element)
;//將index索引位置的元素設定為element
allaylist底層的資料結構是陣列,查詢快、增刪慢
被你氣陣列,操作後自動填充(比如刪除後,元素前移,空位補齊)
arraylist使用示例
public
static
void
main
(string[
] args)
arraylist常用功能public e get
(int index)
;public
intsize()
;public
boolean
remove
(object o)
;//刪除指定的元素,返回是否成功
public e remove
(int index)
;//刪除指定下標元素,返回被刪除元素
public e set
(int index,e element)
;
linkedlist底層使用的是鍊錶結構,因此增刪塊,查詢相對於arraylist較慢
linkedlist的大部分使用方法和arraylist是一樣的
linkedlist使用示例
public
static
void
main
(string[
] args)
linkedlist常用功能void
addfirst
(e e)
;void
addlast
(e e)
;e getfirst()
;e getlast()
;e removefirst()
;e removelast()
;
set是一collection的子介面,他的實現類,hashset、treeset和linkedset
// 關於遍歷,set不支援按照下標遍歷資料
// 可以使用增強for、迭代器iterator、foreach方法
for(string name : set)
iterator
it = set.
iterator()
;while
(it.
hasnext()
)for
(iterator
it = set.
iterator()
; it.
hasnext()
;)
hashset的底層實現是hashmap中的keyset
hashset的特點
hashset使用舉例
//例項化
setset =
newhashset
();//新增元素
system.out.
println
("迴圈新增五次一樣的資料");
for(
int i =
0; i <
5; i++
)system.out.
println
("當前set的大小:"
+ set.
size()
);//遍歷
for(string name : set)
//刪除元素
boolean success = set.
remove
("lps");
if(success)
else
treeset的特點
treeset使用舉例
treeset
treeset =
newtreeset
();treeset.
add(
"zhangsan");
treeset.
add(
"lisi");
treeset.
add(
"wangwu");
system.out.
println
(treeset)
;
v put(k key , v value);//以鍵=值的方式存入map
v get(object key);//根據鍵獲取值
int size();//返回map中鍵值對的個數`
oolean containskey(object key);//判斷map中是否包含鍵為key的鍵值對
boolean containsvalue(object value);//判斷map中是否包含值為value的鍵值對
boolean isempty();//判斷map中是否沒有任何鍵值對
void vlear();//清空map集合中所有的鍵值對
v remove(object key);//根據鍵刪除map中鍵值對
//通過遍歷key來遍歷整個map //最常用
//直接遍歷一對一對的entry(entry是一對資料,包括k和v)
set> entryset = map.entryset();
for(entryentry : entryset)
map.get(key); //獲取value
treemap底層資料結構是紅黑二叉樹
static > void sort(listlist);
static void shuffle(list<?> list);
static void reverse(liset<?> list);
static void swap(list<?> list,int i,int j)
static collectionsynchronizedcollection(collectionc);
STM32新手筆記
實習的時候第一次接觸到stm32板子 和以前用過的arduino,樹莓派都有很多不同 對於嵌入式微控制器也有更深一層的理解 記一下筆記也是對這幾周的學習做乙個理解 中文的stm32板子講解我看的有野火和原子,野火教程和 配的很全,注釋的也比較好,每一層都加了解釋,論壇上討論的也很多,感覺如果有充足的...
python新手筆記(二) glob模組
一.glob模組介紹 用於查詢符合自己要求的檔案。支援萬用字元 操作。代表0 個或多個字元,代表乙個字元,代表指定範圍內的字元。如 0 9 二 glob模組方法 glob.glob 返回所有匹配的檔案路徑列表 glob.iglob 返回下乙個匹配的檔案路徑列表,i foriterator 類似乙個迭...
新手筆記(3) Linux常見命令
a 1.檢視當前系統預設shell echo shell b 目錄操作 2.檢視目錄 man ls 3.ls命令 列出當前目錄下的所有內容 1 顯示每個檔案的大小 ls s 2 按檔案的大小排序 ls s 3 顯示目錄中的所有檔案,包括隱藏檔案 ls a 4 使用長列表模式,顯示檔案詳細資訊 ls ...