課程
/后端開發
/Java
/Java入門第三季
Map中<key,value>,key保存的是ID,value存的是一組ID和name嗎?? 映射具體在哪里有應用到?
2015-11-30
源自:Java入門第三季 5-2
正在回答
Map中的<Key,Value>是兩個Object對象,也就是說,任何對象都可以充當這對Key或Value,至于是什么具體的對象,這需要按照你的業務邏輯來進行設計。
什么是Map?其實就是一種映射關系。何為映射?就是Key與Value一一對應的關系,我們可以通過Key查找到我們想要的數據,亦即Value。我們可以把Map和數組來進行簡單的對比:
現在,有十個學生,我們想把這十個學生的班級記錄下來
String[]?arr?=?new?Array[10]; Map<String,Strng>?map?=?new?HashMap<String,String>();
如果是使用數組,我們只能用數字索引的辦法去儲存或者讀取數據,也就是說,你得去考慮數組的第幾個元素是誰。但是我們可以使用Map來解決這個問題:用學生的姓名來作為Key,班級作為Value:
String?stuName?=?"張三"; String?class???=?"高三一班"; map.put(stuName,class);
就可以將這組數據儲存到Map里面。當你想要使用的時候直接用:
String?newClass?=?map.get("張三");
來得到張三的班級。而不用去考慮順序。
如果你想儲存更大的信息。你可以建一個Student的類,來儲存學生信息,把Map的Value設置成Student
class?Student{ ????private?String?name; ????private?String?class; ????private?int?age; ????private?String?studentNum; ????... } Map<String,Student>?map?=?new?HashMap<String,Student>(); Student?student?=?new?Student(); map.put("張三",student);//保存張三這個對象
取的時候:
Student?stu?=?map.get("張三");
然后你就能對張三這個Student對象進行操作了。事實上Map<K,V>中的K,V就是泛型。不光是Map,在Java中List、Set對象都是這樣的實習機制,你可以靈活的使用泛型來實現自己的業務。就像下面的這些例子:
Map<Map<String,String>,Map<String,String>>?map?=?new?HashMap<Map<String,String>,Map<String,String>>(); Map<String,?ArrayList<String>>?map1?=?new?HashMap<String,ArrayList<String>>(); ...
這要理解了這些,就能夠靈活的使用了。
Anneyth 提問者
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
4 回答Map添加問題
3 回答Map添加問題。
2 回答Map修改問題
1 回答Map中的刪除問題
4 回答關于Map無序問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-11-30
Map中的<Key,Value>是兩個Object對象,也就是說,任何對象都可以充當這對Key或Value,至于是什么具體的對象,這需要按照你的業務邏輯來進行設計。
什么是Map?其實就是一種映射關系。何為映射?就是Key與Value一一對應的關系,我們可以通過Key查找到我們想要的數據,亦即Value。我們可以把Map和數組來進行簡單的對比:
現在,有十個學生,我們想把這十個學生的班級記錄下來
如果是使用數組,我們只能用數字索引的辦法去儲存或者讀取數據,也就是說,你得去考慮數組的第幾個元素是誰。但是我們可以使用Map來解決這個問題:用學生的姓名來作為Key,班級作為Value:
就可以將這組數據儲存到Map里面。當你想要使用的時候直接用:
來得到張三的班級。而不用去考慮順序。
如果你想儲存更大的信息。你可以建一個Student的類,來儲存學生信息,把Map的Value設置成Student
取的時候:
然后你就能對張三這個Student對象進行操作了。事實上Map<K,V>中的K,V就是泛型。不光是Map,在Java中List、Set對象都是這樣的實習機制,你可以靈活的使用泛型來實現自己的業務。就像下面的這些例子:
這要理解了這些,就能夠靈活的使用了。