亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Map問題

Map中<key,value>,key保存的是ID,value存的是一組ID和name嗎?? 映射具體在哪里有應用到?

正在回答

1 回答

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

這要理解了這些,就能夠靈活的使用了。

3 回復 有任何疑惑可以回復我~
#1

Anneyth 提問者

非常感謝!
2015-12-01 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409767    人
  • 解答問題       4543    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號