泛型就是使用表示乙個不確定的資料型別,根據泛型使用在類上、方法上、介面上來確定具體的資料型別。
在類上寫乙個,表示在整個類中有乙個不確定的資料型別。
//``,表示在整個類中有乙個不確定的資料型別。
public
class
generic
}public
class
demo1
}
在方法上寫乙個
,表示在這個方法中有乙個不確定的資料型別。
public
class
generic
}public
class
demo2
}
在介面上寫乙個
,表示在這個介面中有乙個不確定的資料型別。
//``,表示在方法中有乙個不確定的資料型別。
public
inte***ce
generic
//在實現類的時候,確定的具體型別為string
public
class
genericimpl1
implements
generic
}//在實現類的時候,沿用介面的的泛型
public
class
genericimpl2
implements
generic
}public
class
demo3
}
<
?> 任意型別
<
?extends 資料型別》 指定資料型別本身或者其子類
<
?super 資料型別》 指定資料型別本身或者其父類
set集合有兩個子類
hashset: 元素不能重複,不能保證訪問順序
treeset: 元素不能重複,可以對元素進行排序
1.元素的類實現comarable介面
2.複寫compareto方法,在方法中寫排序規則
public
class
student
implements
comparable
return num;
}}
1.建立treeset集合物件的時候,傳遞comparator物件
2.複寫compare方法,在方法中寫排序規則
treeset
ts2 =
newtreeset
<
>
(new
comparator
()return num;}}
);
1.api中已經有的類實現了comparable介面
integer: 按照數字的自然順序排列
string: 按照字母的字典順序排序
如果這些類提供的排序規則不符合要求,你就可以選擇比較器排序
2.使用的是自定義的類,兩種方式隨便選一種都行。
二叉樹:每乙個節點下面最後只有兩個子節點,根節點只有乙個。
二叉查詢樹(搜尋樹):對於任意乙個節點,左子節點都比自己小,右子節點都比自己大。
平衡二叉樹:對於任意乙個節點,左右子樹的高度差不超過1
當往二叉樹結構上新增元素時,為了讓二叉樹達到平衡需要採取左旋和右旋的機制
左旋:當右子節點的高度與左子節點的高度差超過1,就需要左旋
右旋:當左子節點的高度與右子節點的高度差超過1,就需要右旋
往二叉樹上新增元素的幾種情況
左左:往根節點左子樹的左子樹上新增元素,可以通過右旋達到平衡
左右:往根節點左子樹的右子樹上新增元素,先左旋再右旋
右右:往根節點右子樹的右子樹上新增元素,可以通過左旋達到平衡
右左:往根節點右子樹的左子樹上新增元素,先右旋再左旋
學習筆記day08
單例設計模式 上圖中,想要實現a,b的配置資訊共享,因為a,b是兩個new,所以必然是不同的物件,一種方法就是將其配置資訊全部設成靜態,但資訊很多時會導致儲存資訊過多。單例設計模式流程 1,主函式main進棧,定義s1 2,等號右邊,single載入進入方法區,接著是single的建構函式。s和ge...
Day08 強制轉換
int i 128 byte c byte i 記憶體溢位 double b i 自動轉換 低 高 自動轉換 低 高 system.out.println i 128 system.out.println c 128 system.out.println b 1.不能對布林值進行轉換 2.不能把物件...
day08深淺拷貝
python深淺拷貝 是把原列表第一層的記憶體位址拷貝乙份給新列表。對於不可變型別拷貝本身id記憶體位址給新列表 原列表修改不可改變型別的值,新列表不會變 對於可變型別是拷貝可變型別容器本身的id給新列表 原列表修改其中內嵌可變型別的元素值,新列表也會變 例項 list jesse zhangsan...