關於Map集合的運用

2021-09-23 10:43:45 字數 2587 閱讀 5206

在學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)

【put只支援一夫一妻,所以說在後面再增加同乙個key的時候,前面乙個value會被替換】

2、刪除

clear()

remove(object key)

3、判斷

containskey(object key)

containsvalue(object value)

isempty()

4、獲取

get(object key)

size()

values()

entryset()

keyset()

小結:

map

hashtable:底層是雜湊表資料結構,不可以存入null鍵null值,該集合石執行緒同步的,jdk1.0,效率低

hashmap:底層是雜湊表資料結構,允許使用null值和null鍵,該集合是不同步的。將hashtable替代;jdk1.2,效率高

treemap:底層是二叉樹資料結構,執行緒不同步,可以用於給map集合中的鍵進行排序

注意:新增元素時,如果鍵已經在集合中存在,那麼後新增的值會覆蓋原來的值,並且put方法會將原有的值返回

接下來我們來運用map

map的底層就是set集合,set會報錯,所以map也會報錯,所以也要實現comparable介面

應用一:

1、將學生作為鍵,位址作為值進行儲存,名字年齡相同則被認定為乙個人,最後按年齡進行排序輸出

public class treemapdemo }}

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()

@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=23]====上海

student [name=小紅, age=26]====湖南

需求改變、按姓名進行排序

class stucomp implements comparator

return num;

}}

輸出結果:

student [name=小紅, age=26]====湖南

student [name=張三, age=18]====北京

student [name=李四, age=23]====上海

student [name=王二, age=22]====廣東

應用二:統計字串中字元出現次數

按次數排序

—做題前先要有清晰的思路:

以上的**就是統計字串中字元出現次數。

集合 關於Map

map集合是雙列集合的頂層介面,下面分為treemap和hashmap.那麼我們先來看一下map和collection的區別 1.map是雙列的,而collection是單列的 2.map的鍵都是唯一的,而collection中只有set集合的值是唯一的 3.map集合的資料結構值針對鍵有效,跟值無...

關於集合Map

1.map的資料結構 首先要知道map的乙個資料結構,在jdk1.7以前,map的資料結構是陣列 鍊錶但在jdk1.8,map的資料結構就變成了陣列 鍊錶 紅黑樹,本身是陣列,但由於hash演算法有hash衝突 hash演算法會返回乙個int型的資料,當返回的資料相同時,就叫hash衝突 所以加入了...

關於JAVA中Map集合的遍歷

每次用到map集合的時候都要去查一下怎麼遍歷,最近一次查的,感覺還不錯,收藏吧!第一種 map string,string map new hashmap string,string for entry string,string entry map entryset 第二種 iterator.en...