集合框架 Map

2021-10-08 16:20:23 字數 2952 閱讀 6653

map介面專門處理鍵值對映資料的儲存,可以根據鍵實現對值的操作。hashmap是map最常用的實現類

常用方法

map常用方法演示:

public

class

testmap

}

map的遍歷

①通過迭代器iterator實現遍歷

②增強型for迴圈

③鍵值對

//遍歷的方式

set entry = map.

entryset()

;for

(object o : entry)

//遍歷key的方式

set keys = map.

keyset()

;iterator itr=keys.

iterator()

;while

(itr.

hasnext()

)//遍歷value的方式

collection values = map.

values()

;for

(object value : values)

無論是list的get(int index)方法獲取元素,還是map的get(object key)方法獲取元素,還是iterator的next()方法獲取元素,它們獲取的都是object型別,給我們帶了不便,未解決此問題,可以使用泛型。

泛型:將物件的型別作為引數,指定到其他類或者方法上,從而保證型別轉換的安全性和穩定性。

示例:

arraylist

list =

newarraylist

();// 上述定義後,list只能存放string型別值,其他型別會編譯報錯

list.

add(

"abc"

)//正確

list.

add(1)

// 編譯報錯

例題

利用map實現:

定義圖書類book,具有屬性賬號id,書名name、作者author 和**price,

在建立圖書物件時要求通過構造器進行建立,一次性將四個屬性全部賦值,

1)要求賬戶屬性是int型,名稱是string型,作者是string型,**是double,

請合理進行封裝。

2)在book類,新增tostring方法,要求返回 圖書資訊字串,使用\t隔開各資訊

3)要求定義乙個圖書館library類,在圖書館類中新增乙個集合用於儲存多本圖書

4)在圖書館類中要求能夠新增圖書

5)在圖書館類中要求可以檢視所有新增過的圖書

6)不允許新增重複的圖書(如果賬號id和書名name相同,則認為兩本書是相同的)

(重寫equals方法)

// book類

public

class

book

public

book

(int id, string bookname, string author,

double price)

public

intgetid()

public

void

setid

(int id)

public string getname()

public

void

setname

(string name)

public string getauthor()

public

void

setauthor

(string author)

public

double

getprice()

public

void

setprice

(double price)

@override

public string tostring()

// 重寫equals()方法

@override

public

boolean

equals

(object obj)

if(obj instanceof

book)}

return

false;}

// 重寫hashcode()方法

@override

public

inthashcode()

}// library類

public

class

library

if(flag2.

equals

("n"))

i++;}

while

(true);

}public

void

show()

}}// 測試類

public

class

testlibrary

}

collections和collection的區別:

collections和collection不同,前者是集合的操作類,後者是集合介面

collections提供的常用靜態方法:

sort():排序

binarysearch():查詢

max()\min():查詢最大\最小值

public

class

testcollection})

; system.out.

println

(list);}

}

集合框架 Map集合

map集合 同collection,是集合框架中的頂層介面。一次新增一對元素,collection一次新增乙個元素。所有,map集合也稱為雙列集合,collection集合稱為單列集合。介面map key是鍵,value是值,其實map集合中儲存的就是鍵值對,map集合中必須保證鍵的唯一性。常用方法...

集合框架Map

map集合中存放的都是一組組對映關係,乙個鍵對應乙個值,並且鍵不能重複。它有三個子類 hashtable,hashmap,treemap。我們常用的也就是hashmap和treemap。幾個主要的方法就是put,entryset,keyset.將學生作為鍵,位址作為值進行儲存,名字年齡相同則被認定為...

集合框架Map

在學map的時候,肯定是懵逼的,所以要先進行了解map的定義,然後看看map的應用 接下來我們先了解下map 了解map map集合中存放的都是一組組對映關係 key value 在集合中允許巢狀,key不能重複 在map中增加不同於其他的集合,其他的集合用add 來增加,而map是用put 方法 ...