集合體系
一.單列集合(collection):
collection:以單個元素形式儲存
list集合:有序,有索引,可重複
arraylist:陣列結構,查詢快,增刪慢
增加:add(e e) 將指定的元素追加到此列表的末尾
刪除:remove(int index):刪除該集合中指定位置的元素
remove(object o) :刪除集合中指定的第乙個出現元素
修改:set(int index, e element) :用指定的元素替換此集合中指定位置的元素
檢視:get(int index) :返回此集合中指定位置的元素
(遍歷取值:普通for迴圈,迭代器,增強for迴圈)
方式一:普通for迴圈
for(int i=0; iiterator = list.iterator();
while(iterator.hasnext())
方式三:增強for迴圈
for(object obj: list)
linkedlist:鍊錶結構,增刪快,查詢慢
vector:執行緒安全的,同步的,效率低,被arraylist替代
set集合:無序,無索引,不能重複
hashset:雜湊表結構,保證元素不重複需要重寫hashcode()和equals()方法
增加:add(e e) 將指定的元素新增到此集合(如果不存在新增,如果存在就不新增)
刪除:remove(object o) 如果存在則從該集合中刪除指定的元素
修改:if(set.contains(obj))
檢視:(遍歷取值:迭代器,增強for迴圈)
方式一:迭代器
iteratoriterator = set.iterator();
while(iterator.hasnext())
方式二:增強for迴圈
for(object obj: set)
linkedhashset:雜湊表+鍊錶結構,保證元素有序(存入的順序和取出的順序一致)
treeset:二叉樹結構,可以對元素進行排序
二.雙列集合(map):以鍵值對的形式儲存
hashmap:雜湊表結構,所有的鍵構成了set集合
增加:
put(k key, v value) :將指定的值與值相關聯,存入集合中
刪除:remove(object key) :從該map集合中刪除指定的鍵對應的值(如果存在才會刪除)
remove(object key, object value) :僅當指定的鍵和對應的值同時存在才會刪除
修改:重新put(相同的鍵,不同的值);
檢視:(遍歷取值:迭代器,增強for迴圈)
1)獲取所有的鍵key:然後通過鍵去map集合中取值
setkeyset = map.keyset();
for(object key : keyset)
2)獲取所有的鍵值對entry,通過entry獲取鍵和值
set> entryset = map.entryset();
for(map.entryentry : entryset)
linkedhashmap:雜湊表+鍊錶結構,保證元素有序
treemap:可以對元素進行排序
hashtable:不能儲存null鍵和null值
properties:屬性類,儲存的鍵和值只能是字串型別
三.迭代器(iterator):
hashsetset = new hashset<>();
//獲取迭代器物件
iteratoriterator = set.iterator();
//判斷有沒有下乙個元素
while(iterator.hasnext())
增強for迴圈:底層的實現就是通過迭代器
for(object obj: set)
注意:使用迭代器或者增強for迴圈只能用於取值,不能對集合中的元素進行增刪改
四.比較器(comparable和 comparator)
第一種:
comparable:對實現comparable介面的類進行整體排序,需要重寫compareto()方法
public class student implements comparable
}public static void main(string args)
第二種:comparator:對指定的某個物件進行整體排序,需要重寫compare()方法
public static void main(string args)
});}
五.工具類(collections)
addall(collectionc, t... elements) :將所有指定的元素新增到指定的集合中
sort(listlist) :對指定的list集合進行排序,需要注意儲存的資料型別必須實現comparable介面,重寫compareto()方法,指定排序規則
sort(listlist, comparatorc) 根據指定的比較器對指定的集合進行排序, 需要重寫compare()方法,指定排序規則
shuffle(listlist) :使用預設的規則隨機排列指定的集合,打亂集合中的順序
JAVA集合體系整理彙總
乙個是以map介面為延伸 乙個是以collection介面延伸 1.1 map介面向下延伸,又分為兩大類 一 hashmap 底層鍵值對 key value 執行緒不安全,同理效率高 無序的 二 hashtable 底層鍵值對 key value 執行緒安全,同理效率低 無序的 三 treemap ...
Map 集合體系
map 集合體系 1 特點 map是map集合體系的根介面 1 鍵值對儲存 key value 乙個鍵值對對應map集合中的乙個元素 2 鍵 無序 無下標元素不允許重複 3 值 無序無下標 元素允許重複 常用方法 1 put k key,v value 往map集合中新增乙個鍵值對,如果map沒有存...
Java 之 集合體系(二 List)
資料可重複,不排序,執行緒不安全 下面這個例子是將集合中的重複元素去掉 a 案例演示 需求 arraylist去除集合中字串的重複值 字串的內容相同 思路 建立新集合方式 public static void main string args 去除重複 1,返回arraylist 2,引數列表arr...