容許有重複的元素java
方法名稱 | 描述 | 返回類型 |
---|---|---|
add(Ele) | 參數類型爲Object (追加) | boolean |
add(index,Ele) | 指定位置添加元素 | void |
addAll(Col) | 參數爲Collection集合 (追加) | boolean |
addALL(index,Col) | boolean | |
contains(Ele) | boolean | |
containsAll(Col) | boolean | |
clear() | 移除列表中的全部元素 | void |
get(index) | 返回索引爲index的元素 | void |
isEmpty() | boolean | |
size() | 返回列表中元素個數 | int |
remove(Ele/index) | boolean | |
removeAll(Col) | boolean | |
set(index,Ele) | 將索引爲index的元素替換爲Ele | 成功則,返回被被替換掉的元素 |
toArray | 返回一個對象數組(數組元素的順序與列表同樣) | Object |
ArrayList() | 無參構造 | |
ArrayLis(int Size) | 指定初始容量 | |
ArrayList(Col) | 中的初始元素 |
通常狀況使用ArrayList代替數組
LinkedList() | 無參構造 | |
LinkedList(Col) | 指定初始元素 |
ArrayList的底層爲數組LinkedList的底層爲雙鏈表 ArrayList和LinkedList的功能方法沒有同步
public static void main(String[] args) { Integer[] array = {1,3,4,2,423,11,234,23,42,34,23}; List lst = Arrays.asList(array); System.out.println( lst ); // Iterator<Integer> iterator = lst.iterator(); // while(iterator.hasNext()) { // System.out.println( iterator.next()); // } }
不容許有重複的元素工具
add(Ele) | boolean | |
addAll(Col) | boolean | |
clear() | void | |
isEmpty() | boolean | |
remove(Ele) | boolean | |
removeAll(COl) | boolean | |
size() | int | |
contains(Ele) | boolean | |
retainAll(Col) | 將參數集合中有的元素從Set集合中移除 | boolean |
toArray() | 對象數組 |
HashSet() | 無差構造,默認容量16 | |
HashSet(int Size) | 指定初始容量 | |
HashSet(COl) | 指定初始元素 |
HashSet容許添加null值但只能添加一次ui
LinkedHashSet() | 無參構造方法 | 初始容量16 |
LinkedHashSet(int Size) | ||
LinkedHashSet( COl ) |
first() | 返回第一個元素(最小的元素) | Object |
last() | .. | Object |
headSet(Ele) | 返回一個包含小於Ele的SortedSet | sortedSet |
tailSet(Ele) | ...大於 | sortedSet |
subSet(fromEle,toEle) | 返回>=formEle&&<toEle | sortedSet |
特色code
自然有序,不管以什麼順序插入元素,在遍歷的時候都是有序的orm
沒有采用哈希存儲策略,TreeSet採用的是二叉樹結構存儲對象
構造方法blog
方法名稱 | 描述 | |
---|---|---|
TreeSet() | 無參構造,建立一個空的TreeSet對象 | |
TreeSet( SortedSet s) | 含有指定元素 | |
TreeSet( Col ) | 含有指定元素 | |
TreeSet( Comparator c) | 具備指定比較器的空TreeSet對象 |
實現Comparator接口(比較器)達到其餘排序需求。(重寫compare方法)排序
package test_02; import java.util.*; public class set_text { public static void main(String[] args) { Integer[] array = {1,3,4,2,4,11,234,23,42,34,23}; List lst = Arrays.asList(array); Set<Integer> sortSet = new TreeSet<Integer>( new Agecompare() ); sortSet.addAll(lst); System.out.println( sortSet ); } public static class Agecompare implements Comparator<Integer> { public int compare(Integer o1, Integer o2) { return (int)o2-(int)o1; //逆序 } } }
特色繼承
clear() | void | |
containsKey(key) | boolean | |
containsValue(value) | boolean | |
get(key) | 獲取健名爲key的健值 | Object |
isEmpty() | boolean | |
put(key,value) | 若是存在key,這將value添加進去並與其關聯,不存在這都添加而後關聯起來 | Object,返回value |
putAll(Map t) | ... | void |
remove(key) | 移除key所關聯的值value,並將其值value返回 | Object |
size() | 返回鍵值對的個數 | int |
方法名 | 描述 | 返回值類型 |
---|---|---|
HashMap() | 無參構造,初始容量爲16 | |
HashMap(Map m) | 指定初始內容 |
通常狀況用HahMap代替
LinkedHashMap() | 無參構造 | |
LinkedHashMap(int Size) | ||
LinkedHashMap(Map m) |
firstKey() | 返回SortedMap中第一個對象(最小的元素) | Object |
lastKey()) | ...最大.. | Object |
headSet(Ele) | SortMap | |
TrailSet(Ele) | SortMap | |
subSet(formElE,lastEle) | SortedMap |
TreeMap() | 無參構造,建立一個空的TreeMap對象 | |
TreeMap(SortedMap s) | 指定初始元素 | |
TreeMap(Map c) | ||
TreeMap(COmparator c) | 指定比較器 |
java.uitl.Stack
繼承於Vector類,利用Vector實現的
empty() | booean | |
peek() | 查看棧頂元素 | Object |
pop() | 移除棧頂元素 | Object |
push(Ele) | 將Ele元素進棧 | |
search(Object 0 ) | 返回指定元素Ele在棧中的位置,沒有返回-1 | int |
peek() | 返回隊列中的第一個元素,隊列爲空則返回null | Object |
size() | int | |
pop() | 移除隊列中的第一個元素,隊列爲空則拋出異常 | Object |
push(Object o) | 添加...,隊列滿時拋出異常 | void |
ArrayDeque() | ||
ArrayDeque(int size) | 指定初始容量 | |
ArrayDeque(COl) | 指定初始元素 |
HashNext() | 判斷是否還有沒有遍歷的元素 | boolean |
next() | 獲取到集合中下一個將要遍歷的元素,若是沒有要遍歷的元素則,拋出NoSuchElementException異常 | Object |
remove() | 將下一個要遍歷的元素從遍歷的範圍中移除 | void |
package test_02; import java.util.*; public class set_text { public static void main(String[] args) { Integer[] array = {1,3,4,2,4,11,234,23,42,34,23}; List lst = Arrays.asList(array); TreeSet<Integer> sortSet = new TreeSet<Integer>( lst ); Iterator<Integer> iterator = sortSet.iterator(); //獲取迭代器 while(iterator.hasNext()) { System.out.print(iterator.next()+ ","); } } }
package test_02; import java.util.*; public class set_text { public static void main(String[] args) { Integer[] array = {1,3,4,2,4,11,234,23,42,34,23}; List lst = Arrays.asList(array); TreeSet<Integer> sortSet = new TreeSet<Integer>( lst ); Iterator<Integer> iterator = sortSet.iterator(); //獲取迭代器 for (Integer valeu : sortSet) { System.out.print(valeu + ", "); } } }
List的索引遍歷
package test_02; import java.util.*; public class set_text { public static void main(String[] args) { Integer[] array = {1,3,4,2,4,11,234,23,42,34,23}; List lst = Arrays.asList(array); for(int i=0 ;i<lst.size();i++) { System.out.print( lst.get(i)+ "," ); } } }
1.Map提供的獲取鍵或值的方法
名稱 | 描述 | 返回值類型 |
---|---|---|
keySet() | 返回一個包含map中全部鍵的對象的集合 | Set |
values() | 返回一個包含map中全部值對象的集合 | Collection |
描述
java.util.Collections類是一個工具類,該類的方法都是靜態方法。
方便對集合的排序,搜索等操做。
collections提供了兩個sort方法用於對元素的排序。
public static void sort(List list)
public static void sort(List list,comparator c)
collections提供了兩個binarySearch方法用來搜索列表中特定元素
binarySeach方法經常使用的是二分法搜索,只能對已有序的列表搜索。public static int binarySearch(List list,Object Ele)
public static int binarySearch(List list,Object Ele,comparator c)
collections提供了suffle方法來打亂列表中元素的順序。
public static void shuffle(List list)
addAll(col,Object o) | 將對象o添加到col( collection )集合中 | boolean |
copy(List ls1,List ls2) | 將列表ls2中的內容複製到ls1中 | void |
disjoint(col_1,col_2) | 比較col_1與col_2是否有相同的元素,沒有則返回false | boolean |
fill(List ls,Object o) | 填充 | void |
reverse(List ls) | 將列表ls反轉 | void |
swap(List ls,int i,int j) | 交換ls列表中索引爲i和j所對應的值 | void |
使用哈希時,本存儲的對象須要一個哈希碼(hash code 通常是一個整數)。
hashCode方法用於計算提供一個哈希碼。
工做原理:
進入哈希存儲以前,首先調用hashSet獲取一個哈希碼,來定位哈希桶 在哈希桶中,不一樣對象是按照線性表的方式存儲的 哈希碼決定了分離度,處理好分離度是提升效率的關鍵因素