在學map的時候,肯定是懵逼的,所以要先進行了解map的定義,然後看看map的應用
接下來我們先了解下map
了解map
map集合中存放的都是一組組對映關係 ----key=value
在集合中允許巢狀,key不能重複
在map中增加不同於其他的集合,其他的集合用add()來增加,而map是用put()
方法
1、增加
put(k key, v value)
putall(map extends k,? extends v> m)增加同乙個key的時候,前面乙個value會被替換
2、刪除
clear()
remove(object key)
3、判斷
containskey(object key)
containsvalue(object value)
isempty()
4、獲取
get(object key)
size()
values()
兩種遍歷方式
1:map.entryset
set> entryset = map.entryset();
for (entryentry : entryset)
system.out.println("-------------------------");
2:map.keyset
setkeyset = map.keyset();
for (string key : keyset)
關於put:1: 新增元素的同時 他可以編輯原有的元素 如果說集合中沒有key對應的value,那麼就往集合中新增元素
如果說集合中對應的key有values值,則代表替換原有的值
2: 返回替換前原有的value值
hashmap、treemap和hashtable的區別hashtable:底層是雜湊表資料結構,不可以存入null鍵null值,該集合石執行緒同步的,jdk1.0,效率低
hashmap:底層是雜湊表資料結構,允許使用null值和null鍵,該集合是不同步的。將hashtable替代;jdk1.2,效率高
treemap:底層是二叉樹資料結構,執行緒不同步,可以用於給map集合中的鍵進行排序
1、將學生作為鍵,位址作為值進行儲存,名字年齡相同則被認定為乙個人,最後按年齡進行排序輸出
需求改變、按姓名進行排序public class treemapdemo }}
//排序:先寫乙個實體類 實現comparable介面
class student implements comparable
public void setname(string name)
public int getage()
public void setage(int age)
@override
public string tostring()
public student(string name, int age)
public student() {}
//重寫
@override
public int hashcode()
//判重equals 不然還是原來的數
@override
public boolean equals(object obj)
@override
public int compareto(student o)
return num; }}
輸出結果:
student [name=張薩, age=18]====北京
student [name=王二, age=22]====廣東
student [name=小紅, age=26]====湖南
2,統計字串中字元出現次數,按次數排序思路1、將字串轉為字元陣列,將這個字串中的字元當作map集合中的key,將出現的次數作為value值;class stucomp implements comparator
return num; }}
輸出結果:
student [name=小紅, age=26]====湖南
student [name=張薩, age=18]====北京
student [name=王二, age=22]====廣東
2、當字元第一次出現的現象,那麼用它在集合中進行尋找,返回值必然為null,之後該字元對應的值改為1 ;
3、如果說該字元不是第一次出現,該字元對應值不為null,然後應該+1
集合框架 Map集合
map集合 同collection,是集合框架中的頂層介面。一次新增一對元素,collection一次新增乙個元素。所有,map集合也稱為雙列集合,collection集合稱為單列集合。介面map key是鍵,value是值,其實map集合中儲存的就是鍵值對,map集合中必須保證鍵的唯一性。常用方法...
集合框架Map
map集合中存放的都是一組組對映關係,乙個鍵對應乙個值,並且鍵不能重複。它有三個子類 hashtable,hashmap,treemap。我們常用的也就是hashmap和treemap。幾個主要的方法就是put,entryset,keyset.將學生作為鍵,位址作為值進行儲存,名字年齡相同則被認定為...
集合框架 Map
map介面專門處理鍵值對映資料的儲存,可以根據鍵實現對值的操作。hashmap是map最常用的實現類 常用方法 map常用方法演示 public class testmap map的遍歷 通過迭代器iterator實現遍歷 增強型for迴圈 鍵值對 遍歷的方式 set entry map.entry...