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 方法 ...