List
創建方法: List<String> list=new ArrayList<>();
add(val) : 添加元素。
get(index) : 獲取元素。
remove(index) : 刪除元素。
remove(Object o) : 按照元素內容刪除 {eg:list.add("marry") ; list.remove(0)==list.remove("merry");}。
contains(Object o) : 返回true/false 表示是否包含摸個元素。
set(index,element) : 將下標爲index的元素替換爲element。
add(index,element) : 將element插入到第index位置,然後將後面元素後移一位。
indexOf(Object o) :返回元素的第一個位置
lastIndexOf(Object o) :返回元素的最後一個位置
subList(fromindex,toindex) :生成一個新的List{eg:phone=phone.subList(1, 4);利用索引1-4的對象重新生成一個list,但是不包含索引爲4的元素,4-1=3 }
size() :返回List的長度。
equals(List list) :判斷兩個list中的元素是否相同。
isEmpty() :判斷List是否爲空。
iterator() :返回Iterator對象{eg:Iterator iterator = list.iterator(); iterator.next() :獲取下一個元素 }
toString() : 將集合轉換爲字符串,並返回轉化後的字符串。
toArray() : 將集合轉換爲數組,並返回轉化後的數組。
類型轉換 :List<StringBuffer> lst=new ArrayList<>();
for(String string:person){ lst.add(StringBuffer(string));
去重 :
List<String> lst1=new ArrayList<>();
List<String> lst2=new ArrayList<>();
for (String s:lst1)
{
if (Collections.frequency(lst2, s)<1)
{
lst2.add(s);
}
}
Map
put(key,value) :向map集合中添加Key爲key,Value爲value的元素,當添加成功時返回null,否則返回value。
就是說Map集合中的Key是不能重複的,這就類似於Set集合中元素不能重複,但是Map集合中的Value是可以重複。
putAll(Map m) :向map集合中添加指定集合的所有元素 {eg: map1.putAll(map2);}
clear() : 把map集合中所有的鍵值刪除 .
containsKey(Object key) :檢出map集合中有沒有包含Key爲key的元素,如果有則返回true,否則返回false。
containsValue(Object value) : 檢出map集合中有沒有包含Value爲value的元素,如果有則返回true,否則返回false。
entrySet() :返回map到一個Set集合中,以map集合中的"Key=Value"的形式返回到set中。 {eg: Set set = map.entrySet(); }
equals(Object o) :判斷兩個Map是否相等
get(Object key) : 根據map集合中元素的Key來獲取相應元素的Value .
int hashCode(): 返回map集合的哈希碼值 {eg: hashcode = map1.hashCode();}
isEmpty() : 檢出map集合中是否有元素,如果沒有則返回true,如果有元素則返回false .
keySet() : 返回map集合中所有Key .{eg: Set set = map.keySet() ;}
remove(Object key) : 刪除Key爲key值的元素 .
size() :返回map集合中的元素個數
values() :返回map集合中所有的Value到一個Collection集合 {eg:Collections col = map.values(); }
Set
Set<Integer> test = new TreeSet<>();
add(val) :向集合中添加元素
clear() :去掉集合中的所有元素
contains(val):判斷集合中是否包含某個元素
isEmpty():判斷集合是否爲空
iterator(): 主要用於遞歸集合,返回一個Iterator()對象
remove(Object o) :從集合中去掉特定對象
size() :返回集合大小
HashSet類
不能保證元素的排列順序,順序可能與添加順序不同,順序也可能發生變化;
HashSet不是同步的;
集合 元素可以是null;
當向HashSet集合中存入一個元素時,HashSet會調用該對象的hashCode方法來得到該對象的hashCode值,然後根據該hashCode值決定該對象在HashSet中的存儲位置。如果有兩個元素通過equals方法比較true,但它們的hashCode方法返回的值不相等,HashSet將會把它們存儲在不同位置,依然可以添加成功。也就是說。HashSet集合判斷兩個元素的標準是兩個對象通過equals方法比較相等,並且兩個對象的hashCode方法返回值也相等。靠元素重寫hashCode方法和equals方法來判斷兩個元素是否相等,如果相等則覆蓋原來的元素,依此來確保元素的唯一性
LinkedHashSet類HashSet還有一個子類LinkedList、LinkedHashSet集合也是根據元素的hashCode值來決定元素的存儲位置,但它同時使用鏈表維護元素的次序,這樣使得元素看起來是以插入的順序保存的,也就是說當遍歷集合LinkedHashSet集合裏的元素時,集合將會按元素的添加順序來訪問集合裏的元素。輸出集合裏的元素時,元素順序總是與添加順序一致。但是LinkedHashSet依然是HashSet,因此它不允許集合重複。
TreeSet類
TreeSet是SortedSet接口的實現類,TreeSet可以確保集合元素處於排序狀態。
TreeSet內部實現的是紅黑樹,默認整形排序爲從小到大。
與HashSet集合相比,TreeSet還提供了幾個額外方法:
Comparator comparator():如果TreeSet採用了定製順序,則該方法返回定製排序所使用的Comparator,如果TreeSet採用自然排序,則返回null;
Object first():返回集合中的第一個元素;
Object last():返回集合中的最後一個元素;
Object lower(Object e):返回指定元素之前的元素。
Object higher(Object e):返回指定元素之後的元素。
SortedSet subSet(Object fromElement,Object toElement):
返回此Set的子集合,含頭不含尾;
SortedSet headSet(Object toElement):返回此Set的子集,由小於toElement的元素組成;
SortedSet tailSet(Object fromElement):返回此Set的子集,由大於fromElement的元素組成;
輸出的集合都是有序的
Stack
boolean empty() 測試堆棧是否爲空。
Object peek( ) 查看堆棧頂部的對象,但不從堆棧中移除它。
Object pop( ) 移除堆棧頂部的對象,並作爲此函數的值返回該對象。
Object push(Object element) 把項壓入堆棧頂部。
int search(Object element) 返回對象在堆棧中的位置,以 1 爲基數。
Queue
add(val) 增加一個元索 如果隊列已滿,則拋出一個IIIegaISlabEepeplian異常
remove() 移除並返回隊列頭部的元素 如果隊列爲空,則拋出一個NoSuchElementException異常
element() 返回隊列頭部的元素 如果隊列爲空,則拋出一個NoSuchElementException異常
offer(val) 添加一個元素並返回true 如果隊列已滿,則返回false
poll() 移除並返問隊列頭部的元素 如果隊列爲空,則返回null
peek() 返回隊列頭部的元素 如果隊列爲空,則返回null
put(val) 添加一個元素 如果隊列滿,則阻塞
take(val) 移除並返回隊列頭部的元素 如果隊列爲空,則阻塞
Collections
Collections類裏面包括動態、有序、可變大小的一維數組Vector與ArrayList。
Vector的使用如下
-
vector.add(6);
:單純的add表示從結尾加入元素 -
vector.size()
:size()能求出vector的所含元素的個數 -
vector.remove(1);
:remove(1)表示刪去第1個元素,注意計數從0開始 -
vector.remove(vector.lastElement());
:刪去最後一個元素 -
vector.add(0, 1.8888);
:在第0個位置 加入 1.8888這個元素 -
vector.set(0, "a");
:把第0個位置這個元素 改爲 a
ArrayList使用方法
ArrayList<Double> arraylist = new ArrayList<Double>();
1. arraylist.add(1.0);
:單純的add表示從結尾加入元素
2. arraylist.size();
:size()能求出所含元素的個數
3. arraylist.remove(1);
:remove(1)表示刪去第1個元素,注意計數從0開始
4. arraylist.remove(arraylist.size() - 1);
:刪去最後一個元素
5. arraylist.add(0, 1.8888);
:在第0個位置 加入 1.8888這個元素
6. arraylist.set(0, 9.0);
:把第0個位置這個元素 改爲 9.0
7. Collections.sort(arraylist);
:如果arraylist不是抽象類型,則支持排序
8. arraylist.get(i);
:得到第i個位置的元素值,注意從0開始計數。