新手筆記 集合框架

2021-10-10 11:16:34 字數 4339 閱讀 1356

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 ...