好
影片1 泛型機制的來龍去脈
影片3 可剔除重複值的集合 Set
影片5 自訂識別系統的集合 - Map
影片6 定義本類別物件排序的運算方式
影片7 定義指定類別物件排序的運算方式
一、泛型(Generic)
專案開發過程中,我們常會使用 Overload
機制,開發多個方法做類似的事情,但接收的參數型態不一樣。在多型的主題中,我們學會了有多個方法名稱相同,參數型態有上下層類別的關係時,我們可以用多型的機制,取代 Overload。
若這多個方法的參數列,接收的參數的形態,沒有上下層類別的關係時。就可以使用泛型機制來取代
Overload。
1.
宣告與定義支援泛型的類別
class ClassName<T>{
void methodName(T t){
//statements
}
}
2.
使用支援泛型的類別
ClassName <Type> n = new ClassName <Type>();
ClassName <Type> n = new ClassName <>();
二、Collection
線性集合的最上層介面。
1. List
每個元素有獨一無二編號(序號)的串列,集合中的值可以重複,接受 null。
l ArrayList
以陣列模式運算的串列,依序取值速度較快。
l LinkedList
依傳統串列的方式運算的串列。插入、新增、刪除元素的速度較快。
2. Set
集合中每一個元素的值都是獨一無二的。意圖新增元素到集合中時,要新增的元素的值必須是目前集合中不存在的。如果是集合中已經存在的值,新增就不會成功。
l HashSet
集合中的元素沒有順序性,也沒有排序。
l TreeSet
集合中的元素會依值的大小,由小到大排序。
3. Deque
雙向佇列,提供先進先出與後進先出的方法。讓使用者可靈活地依照需求使用。
l ArrayDeque
三、Map
集合中的每一個元素。都是一組key與Value配對的集合。也就是每一個元素都有2個值。第一個值是 key(鍵值),第2個值才是真正要儲存的值或物件。是一個可以讓使用者自訂識別系統的集合。
1. HashMap
用HashSet管理 Key的 Map。
l TreeMap
用HashSet管理 Key的 Map。
四、物件比對(比大小)
1. Comparable
用來定義實作類別的物件的比對方式。
2. Comparator
用來定義指定類別的物件的比對方式。
五、HashCode
類別必須妥善 Override hashcode 方法,它的物件,才能讓
Set 運算。