java基礎重要知識 集合體系

2021-09-09 07:23:43 字數 2782 閱讀 9891

集合體系

一.單列集合(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...