集合體系二,泛型,Set

2021-10-08 02:47:49 字數 3457 閱讀 9661

型別萬用字元上限: <? extends 型別》

型別萬用字元下限: <? super 型別》

泛型萬用字元的使用

public

class

genericdemo4

// 泛型萬用字元: 此時的泛型?,可以是任意型別

public

static

void

method

(arraylist<

?> list)

// 泛型的上限: 此時的泛型?,必須是number型別或者number型別的子類

public

static

void

getelement1

(arraylist<

?extends

number

> list)

// 泛型的下限: 此時的泛型?,必須是number型別或者number型別的父類

public

static

void

getelement2

(arraylist<

?super number> list)

}

儲存字串並遍歷

public

class

myset1

//遍歷集合

iterator

it = set.

iterator()

;while

(it.

hasnext()

) system.out.

println

("-----------------------------------");

for(string s : set)

}}

儲存integer型別的整數並遍歷

public

class

treesetdemo01

}}

實現步驟

使用空參構造建立treeset集合

自定義的student類實現comparable介面

重寫介面中的compareto方法

**實現

學生類

public

class

student

implements

comparable

public

student

(string name,

int age)

public string getname()

public

void

setname

(string name)

public

intgetage()

public

void

setage

(int age)

@override

public string tostring()

';}@override

public

intcompareto

(student o)

}

測試類

public

class

mytreeset2

}}

實現步驟

**實現

老師類

public

class

teacher

public

teacher

(string name,

int age)

public string getname()

public

void

setname

(string name)

public

intgetage()

public

void

setage

(int age)

@override

public string tostring()

';}}

測試類

public

class

mytreeset4})

;//建立老師物件

teacher t1 =

newteacher

("zhangsan",23

);teacher t2 =

newteacher

("lisi",22

);teacher t3 =

newteacher

("wangwu",24

);teacher t4 =

newteacher

("zhaoliu",24

);//把老師新增到集合

ts.add(t1)

; ts.

add(t2)

; ts.

add(t3)

; ts.

add(t4)

;//遍歷集合

for(teacher teacher : ts)

}}

兩種方式中關於返回值的規則

二叉樹結構圖

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-mfvza1fc-1594725389073)(.\img\01_二叉樹結構圖.png)]

二叉查詢樹結構圖

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-41lttyus-1594725389076)(.\img\02_二叉查詢樹結構圖.png)]

二叉查詢樹和二叉樹對比結構圖

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-nab95eq5-1594725389077)(.\img\03_二叉查詢樹和二叉樹對比結構圖.png)]

二叉查詢樹新增節點規則

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-b9qrgnfl-1594725389079)(.\img\04_二叉查詢樹新增節點規則.png)]

平衡二叉樹旋轉 左旋

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-ai0lfsyk-1594725389080)(.\img\05_平衡二叉樹左旋01.png)]

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-w7bui6ag-1594725389082)(.\img\05_平衡二叉樹左旋02.png)]

右旋平衡二叉樹和二叉查詢樹對比結構圖

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-wxzvmyh7-1594725389090)(.\img\07_平衡二叉樹和二叉查詢樹對比結構圖.png)]

平衡二叉樹旋轉的四種情況

左右右右

右左

Map 集合體系

map 集合體系 1 特點 map是map集合體系的根介面 1 鍵值對儲存 key value 乙個鍵值對對應map集合中的乙個元素 2 鍵 無序 無下標元素不允許重複 3 值 無序無下標 元素允許重複 常用方法 1 put k key,v value 往map集合中新增乙個鍵值對,如果map沒有存...

Java 之 集合體系(二 List)

資料可重複,不排序,執行緒不安全 下面這個例子是將集合中的重複元素去掉 a 案例演示 需求 arraylist去除集合中字串的重複值 字串的內容相同 思路 建立新集合方式 public static void main string args 去除重複 1,返回arraylist 2,引數列表arr...

JAVA集合體系整理彙總

乙個是以map介面為延伸 乙個是以collection介面延伸 1.1 map介面向下延伸,又分為兩大類 一 hashmap 底層鍵值對 key value 執行緒不安全,同理效率高 無序的 二 hashtable 底層鍵值對 key value 執行緒安全,同理效率低 無序的 三 treemap ...