一、集合:Collection
一些方法(更多方法請參考幫助文檔):增add(Object obj)、刪remove()/removeAll()/clear()、改set(index,Object)、查get(index),迭代iterator()—>遍歷
1:List接口
特點:有序可重復的,可以用下標來進行操作。
常用的類;
1.1 ArrayList:底層是以數組形式存儲數據,查找效率高,增刪改較低
1.2 LinkedList:底層以鏈表形式存儲數據,查找效率低,增刪改較高
2:Set接口
特點:無序:放進去的順序跟取出來的順序不一樣。不可重復的。
方法跟Collection方法一樣。
2.1:HashSet:用哈希表去除重復元素,判斷一個數據是否重復,首先是判斷改數據的哈希值是否與以創建的哈希表中的值相同,如果相同就為重復,如果不同再調用equals方法比較是否相同,返回true則表示同一個數據,不會添加,否則就添加。
2.2:TreeSet:用紅黑樹(平衡的二叉樹)結構來存儲數據。根據compareTo方法的返回值去除重復元素和排序。compareTo方法是接口Comparable中的,使用者可以在實現給接口的情況下重寫該方法來自定排序規則。
3:泛型編程 , 表示形式< >,< > 尖括號中可以放多個字母,用“,”分開<T,E>
在運用集合的時候,將運行時的錯誤提前到編譯時期。在創建集合的時候,就規定集合元素的類型。
3.1:泛型定義在方法上。泛型方法,返回值類型也可以用泛型表示
public <T> 返回值類型 方法名(T t){
方法體。
}
public <T> T 方法名(T t){
方法體。
return t;
}
T;表示任意一種引用數據類型。類型名稱可以用任意字母或者單詞表示,一般都用一個大寫字母表示。
?:表示任意引用類型。有可能有多種引用數據類型
? extends T:表示任意T或者T子類。
? super T :表示任意T或者T的父類。
3.2:泛型類
class 類名 <T>{
}
3.3:泛型接口
Interface 類名 <T>{
}
4.集合類Collections
static
| binarySearch(List<? extends Comparable<? super T>>list, Tkey) 使用二分搜索法搜索指定列表,以獲得指定對象。 |
staticvoid | swap(List<?>list, inti, intj) 在指定列表的指定位置處交換元素。 |
static
| sort(List<T>list) 根據元素的自然順序 對指定列表按升序進行排序。 |
新聞熱點
疑難解答