map 集合體系
1 特點 (map是map集合體系的根介面)
(1)鍵值對儲存(key-value),乙個鍵值對對應map集合中的乙個元素
(2)鍵 無序 無下標元素不允許重複
(3) 值 無序無下標 元素允許重複
常用方法:
(1) put(k key, v value):往map集合中新增乙個鍵值對, 如果map沒有存在要新增key內容,直接新增,返回值為 null;但是如果新增的key在map中已經存在,則key對應的 新value替代原有value,被替代的value作為返回值返回。 【開發應用重點】
(2) v remove(k key):通過鍵刪除map中對應鍵值對,被刪 除的value作為返回值返回。
(3) v get(k key):通過鍵(key)獲取對應的value 【重點】
int size():獲取map中鍵值對的個數
(5) boolean containskey(k key):判斷map集合中是否包含 某乙個鍵,包含-true;不包含-false.
(6) boolean containsvalue(v value):判斷map集合中是否 包含某乙個值,包含-true;不包含-false.
實現類:hashmap
注意:如果自定型別的物件作為hashmap的鍵,為了保證元 素不重複,則物件對應的類需覆蓋 hashcode和equals方 法。但是為了提高檢索的效率,開發時通常使用 string/integer(例如string的使用者名稱或是integer的id)作為 hashmap的鍵。
(1) hashmap:jdk1.2版本,執行緒不安全,執行效率較快; 允許 null作 鍵和值。
(2) linkedhashmap:是hashmap的子類,按照元素新增的 順序操作集 合元素。
(3) hashtable:jdk1.0版本,執行緒安全,執行效率較慢,不允許null作為鍵和值。
(4) properties是hashtable的子類,要求key和value是 string型別;
應用場景:載入配置檔案時應用。
(5) treemap:是sortedmap的實現類,sortedmap是map 的子介面; 對map中的鍵根據內容完成排序。
遍歷方式 (1) 鍵遍歷:通過 map中的keyset方法獲取map集合中所有 的鍵【重點】
//建立map 物件
map map=new hashmap<>();
set ks=map.keyset();//獲取map中所有鍵
//通過遍歷set集合ks獲取每乙個鍵
for(k key:ks)
(2)值遍歷 通過map 中values 方法獲取map集合中所有值
//建立map 物件
map map=new hashmap<>();
collcetion vs =new map.values();
// 通過遍歷collection 集合vs 獲取每乙個值
for(v value:vs)
//注意:map沒有方法 通過 值 獲取對應的鍵
(3) 鍵值對遍歷:通過map中的entryset方法獲取map中所有 鍵值對
//建立map 物件
map map=new hashmap<>();
set> kvs= map.entryset();//獲取所有鍵值對
// 通過 遍歷 set集合 kvs獲取每乙個鍵值對
for( map.entrykv :kvs)
示例**
public
class
testhashmap
//`````````值遍歷````````````
collection
vs =map.
values()
;for
(string value:vs)
//~~~~~~~~~···鍵值對遍歷··········
// 獲取map 中所有鍵值對
set>kvs =map.
entryset()
;for
(map.entey
kv:kvs)
}}
不足之處還請各位看官海涵 指正。
謝謝**
Collection和Map集合體系說明
集合體系說明 collection集合下分為list集合和set集合 collection list集合下有arraylist,linkedlist,vector 基本不用 三種集合體系 list集合有序,可重複,進去是什麼順序,取出還是這個順序 1.arraylist底層採用的是陣列儲存元素,所以...
JAVA集合體系整理彙總
乙個是以map介面為延伸 乙個是以collection介面延伸 1.1 map介面向下延伸,又分為兩大類 一 hashmap 底層鍵值對 key value 執行緒不安全,同理效率高 無序的 二 hashtable 底層鍵值對 key value 執行緒安全,同理效率低 無序的 三 treemap ...
Java 之 集合體系(二 List)
資料可重複,不排序,執行緒不安全 下面這個例子是將集合中的重複元素去掉 a 案例演示 需求 arraylist去除集合中字串的重複值 字串的內容相同 思路 建立新集合方式 public static void main string args 去除重複 1,返回arraylist 2,引數列表arr...