由api可知,
map介面與collection介面不同:
map是雙列的,collection是單列的
map的鍵唯一,collection的子體系set是唯一的
map集合的資料結構值針對鍵有效,跟值無關,collection集合的資料結構是針對元素有效
map集合功能概述:
a.新增功能
如果鍵是第一次儲存,就直接儲存元素,返回null
如果鍵不是第一次存在,就用值把以前的值替換掉,返回以前的值
b.刪除功能
c.判斷功能
d.獲取功能
e.長度功能
map集合的遍歷之鍵找值(第一種遍歷方式)
鍵找值思路:
簡化如下:
map集合的遍歷之鍵值對物件找值(第二種遍歷方式)
鍵值對物件找值思路:
通過map.entryset()方法獲取鍵值對物件集合set>
遍歷鍵值對物件獲取鍵(key)和值(value)
map.entry介面是map介面內部的介面,在hashmap中有內部類entry實現了map.entry介面
簡化如下:
如何保證鍵的唯一?
hashmap當鍵(key)是物件(student)時,如果物件(student)沒有重寫hashcode和equals方法,則不會去重,即鍵值可能會有重複。如果需要去重,則需要重寫物件的hashcode和equals方法。
linkedhashmap是hashmap的子類
特點:底層是鍊錶,所以可實現怎麼存怎麼取。
treemap(存鍵的底層是二叉樹):
如何保證鍵的唯一?
treemap底層是二叉樹,所以
模擬treeset,保證鍵唯一有兩種方式,
物件繼承comparator介面,重寫compareto方法
在treemap中傳入comparetor物件,重寫compareto方法
hashmap與hashtable的區別(面試題)
共同點:底層都是hash演算法,都是雙列集合
區別:hashmap執行緒不安全,效率高,jdk1.2版本
hashtable是執行緒安全的,效率低,jdlk1.0版本的
hashtable不可以儲存null鍵和null值
hashmap可以儲存null鍵和null值
兩種Map遍歷方式
1 使用 jdk1.4中hashmap entryset 遍歷 存放key value鍵值對 maptempmap new hashmap tempmap.put a 1 tempmap.put b 2 tempmap.put c 3 iterator it tempmap.entryset ite...
兩種Map遍歷方式
map集合遍歷 1 使用 jdk1.4中hashmap entryset 遍歷 存放key value鍵值對 maptempmap new hashmap tempmap.put a 1 tempmap.put b 2 tempmap.put c 3 iterator it tempmap.entr...
雙列集合Map的兩種遍歷方式
通過元素中的鍵,獲取鍵所對應的值 分析步驟 獲取map中所有的鍵,由於鍵是唯一的,所以返回乙個set集合儲存所有的鍵。遍歷鍵的set集合,得到每乙個鍵。根據鍵,獲取鍵所對應的值。演示 mapmap new hashmap 往集合中新增鍵值對 map.put 海賊王 蒙奇d路飛 map.put 火影忍...