day08 資料結構

2021-10-19 07:20:57 字數 2086 閱讀 4773

泛型就是使用表示乙個不確定的資料型別,根據泛型使用在類上、方法上、介面上來確定具體的資料型別。

在類上寫乙個,表示在整個類中有乙個不確定的資料型別。

//``,表示在整個類中有乙個不確定的資料型別。

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