泛型就是一種不確定的資料型別,使用《字母》,可以使用在類上,方法上和介面上。
泛型類,指的是在類上有乙個確定的資料型別,在建立該類物件時確定其資料型別。
//: 表示一種不確定的資料型別
public
class
boxpublic
void
setelement
(e element)
}
泛型方法,表示在方法上有乙個不確定的資料型別,在呼叫這個方法時來確定其資料型別//泛型類上的,在建立物件的時候確定資料型別
public
class
demo1
}
泛型介面指的是,在介面上有乙個不確定的資料型別,可以在介面的實現類上確定其資料型別;『public
class
demo3
//給乙個集合新增元素
//可變引數: 資料型別...變數名
//t...arr 表示可以接收多個t型別的資料,等價於t arr
public
static
collection
addelement
(collection
list, t.
..arr)
return list;
}}
也可以把介面的泛型沿用到實現類上,在建立類的物件時確定其資料型別。
//inter: 在inter介面上不確定的資料型別t
public
inte***ce
inter
//inter: 確定介面上的泛型為string
public
class
interimpl
implements
inter
}
//把inter介面上的泛型,沿用到interimpl2類上
public
class
interimpl2
implements
inter
}
public
class
demo4
}
treeset集合可以對元素進行排序,排序有兩個方式,分別是自然排序和比較器排序<?> : 可以是任意型別
<? extends number>: number或者number的子類
<? super number>: number或者number的父類
注意:一般泛型萬用字元是使用在方法的引數上,限定引數的資料型別。
public
class
student
implements
comparable
@override
public string tostring()
';}@override
public
intcompareto
(student o)
return num;
}}
在建立treeset集合的時候,指定comparator比較器,對集合中的元素進行排序public
class
setdemo2
}}
//在建立treeset物件時,指定比較器comparator
setset =
newtreeset
<
>
(new
comparator
()})
;set.
add(
newstudent
("aaa",18
));set.
add(
newstudent
("ccc",17
));set.
add(
newstudent
("bbb",19
));set.
add(
newstudent
("eee",20
));set.
add(
newstudent
("ddd",20
));for
(student student : set)
treeset集合可以對元素進行排序,是因為底層的資料結構是二叉樹。1. 如果使用api中已有的類作為treeset元素,
當api中的類已經實現了comparable自然排序的規則,但是這個排序規則不滿足我們的要求
這個時候,我們可以選擇comparator比較器排序。
2. 如果是自定義的類作為treeset元素,比較器排序或者自然排序,任選乙個就可以了。
二叉樹:由若干個節點組成的樹形結構,乙個節點最多有兩個子節點
二叉查詢樹(二叉搜尋樹,二叉排序樹):對於任意乙個節點,左邊儲存較小的節點,右邊儲存較大的節點
二叉平衡樹:對於任意乙個節點,左子樹和右子樹的高度差不超過1
左旋:如果右子樹比左子樹的高度差超過1,就需要進行左旋,以達到再次平衡
右旋:如果左子樹比右子樹的高差度超過1,就需要進行右旋,以達到再次平衡
導致二叉樹不平衡的幾種情況,如何恢復平衡?
1.左左: 在根節點的左子樹的左子樹上新增節點,直接右旋
2.左右: 在根節點的左子樹的右子樹上新增節點,先左旋,再右旋
3.右右: 在根節點的右子樹的右子樹上新增節點,直接左旋
4.右左: 在根節點的右子樹的左子樹上新增節點,先右旋,再左旋
集合框架 Map集合
map集合 同collection,是集合框架中的頂層介面。一次新增一對元素,collection一次新增乙個元素。所有,map集合也稱為雙列集合,collection集合稱為單列集合。介面map key是鍵,value是值,其實map集合中儲存的就是鍵值對,map集合中必須保證鍵的唯一性。常用方法...
AJPFX關於TreeSet集合的介紹
需求 鍵盤錄入5個學生資訊 姓名,語文成績,數學成績,英語成績 按照總分從高到低輸出到控制台。分析 1 建立鍵盤錄入物件 2 建立treeset集合,使用匿名內部類實現comparator介面,重寫compara方法 3 判斷集合中元素的個數,向其中新增元素 4 遍歷集合 class demo tr...
java集合框架(map集合)
map集合 該集合儲存鍵值對,一對一對往裡存,而且要保證鍵值得唯一性。一 基本方法 1.新增 put k key,v value 將指定的值與此對映中的指定鍵關聯 可選操作 putall map m 從指定對映中將所有對映關係複製到此對映中 可選操作 2.刪除 從此對映中移除所有對映關係 可選操作 ...