一篇文章帶你搞懂Map接口、HashMap集合
一、Map接口
1.在學(xué)校的每個(gè)學(xué)生都有唯一的學(xué)號(hào),通過(guò)學(xué)號(hào)可以查詢(xún)到這個(gè)人的信息,這兩者屬于一對(duì)一的關(guān)系。Map接口是一個(gè)雙列集合,它的每個(gè)元素都包含一個(gè)鍵(key)和一個(gè)值(Value)的對(duì)象,這個(gè)鍵和值對(duì)象之間的關(guān)系是一種對(duì)應(yīng)的關(guān)系,也叫做映射。在這個(gè)Map集合訪問(wèn)元素,指定key的值就可以直到對(duì)應(yīng)的Value的值。
2.Map集合常用的方法
void put(Object key,Object value)方法是把指定的值向集合中添加鍵值對(duì)。
Object get(Object key)方法是通過(guò)key所映射的值,若映射不包括這個(gè)鍵的映射關(guān)系,返回null。
boolean containsKey(Obejct key)方法是如果Map中是包含這樣的key,則返回true,否則是false。
boolean containsValue(Object value)方法是如果Map中包含這樣的vaule,則返回true,否則返回false。
Set keySet()方法是獲取Map中所有的key的值。
Collection
Set
二、HashMap集合
1.HashMap集合是Map接口的一個(gè)實(shí)現(xiàn)類(lèi)是用來(lái)存儲(chǔ)鍵和值,而且不能出現(xiàn)重復(fù)的鍵。
2.HashMap例子的實(shí)現(xiàn):
- import java.util.HashMap;
- import java.util.Map;
- public class t01 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Map m=new HashMap();
- m.put("1", "Java程序設(shè)計(jì)");
- m.put("2", "軟件測(cè)試");
- m.put("3", "數(shù)據(jù)庫(kù)原理及其應(yīng)用");
- System.out.println(m.get("1"));
- System.out.println(m.get("2"));
- System.out.println(m.get("3"));
- }
- }
運(yùn)行的結(jié)果是:
三、如何遍歷Map中所有的鍵值對(duì)?
1.第一種:先遍歷Map集合中所有的鍵來(lái)獲取對(duì)應(yīng)的值。
2.第一種例子的實(shí)現(xiàn):
- import java.util.Map;
- import java.util.*;
- public class a {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Map m=new HashMap();
- //存儲(chǔ)鍵和值
- m.put("c1", "Java程序設(shè)計(jì)");
- m.put("c2", "軟件測(cè)試");
- m.put("c3", "數(shù)據(jù)庫(kù)原理及其應(yīng)用");
- //獲取鍵集合
- Set ks=m.keySet();
- Iterator i=ks.iterator();
- while(i.hasNext()){
- String key=(String)i.next();
- //獲取每個(gè)鍵對(duì)應(yīng)的值
- String value=(String)m.get(key);
- System.out.println(key+":"+value);
- }
- }
- }
運(yùn)行的結(jié)果是:
3.第二種:先獲取Map集合中所有的映射關(guān)系,在從這個(gè)關(guān)系中獲取鍵和值。
4.第二種例子的實(shí)現(xiàn):
- import java.util.Map;
- import java.util.*;
- public class a {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Map m=new HashMap();
- //存儲(chǔ)鍵和值
- m.put("c1", "Java程序設(shè)計(jì)");
- m.put("c2", "軟件測(cè)試");
- m.put("c3", "數(shù)據(jù)庫(kù)原理及其應(yīng)用");
- Set es=m.entrySet();
- Iterator i=es.iterator();
- while(i.hasNext()){
- //獲取集合中鍵值對(duì)應(yīng)關(guān)系
- Map.Entry en=(Map.Entry)(i.next());
- //獲取Entry的鍵和值
- String key=(String)en.getKey();
- String value=(String)en.getValue();
- System.out.println(key+":"+value);
- }
- }
- }
運(yùn)行的結(jié)果是:
四、總結(jié)
本文主要介紹了Map接口、HashMap集合、如何遍歷Map中所有的鍵值對(duì)。Map接口是一個(gè)雙列集合,它的每個(gè)元素都包含一個(gè)鍵(key)和一個(gè)值(Value)的對(duì)象,它的對(duì)應(yīng)關(guān)系就是映射。HashMap集合是Map接口的一個(gè)實(shí)現(xiàn)類(lèi)是用來(lái)存儲(chǔ)鍵和值,而且不能出現(xiàn)重復(fù)的鍵。遍歷Map中所有的鍵值對(duì)通過(guò)keySet()方法和entrySet()方法。通過(guò)本文的學(xué)習(xí),希望對(duì)你有幫助!