類集框架2

1.偶對(duì)象保存:Map接口

偶對(duì)象指的是一對(duì)對(duì)象,即兩個(gè)對(duì)象要同時(shí)保存鹉究。這兩個(gè)對(duì)象是按照key=value 的形式進(jìn)行定義的宇立,即可通過key找到相應(yīng)的value數(shù)據(jù)。

Map接口的主要操作方法

No 方法名稱 描述
1 public V put(K key, V value) 向集合中保存數(shù)據(jù)
2 public V get(Obeject key) 通過指定的key取得對(duì)應(yīng)的value
3 public Set<K>keySet() 將Map中的所以key以Set集合的方式返回
4 public Set<Map.Entry<K,V>>entrySet() 將Map集合變?yōu)镾et集合

在Map接口中有兩個(gè)常用的子類HashMap和Hashtable

1.1 HashMap

HashMap是Map接口中使用最多的一個(gè)子類自赔,子類定義如下
public class HsahMap<K,V>
extends AbstractMap<K,V>
implements Map<K,V>,Cloneable,Serializable

例子:Map方法使用
import java.util.HashMap; import java.util.Map; public class test{ public static void main(String[] args) { Map <Integer,String> map = new HashMap<Integer,String>(); map.put(8, "張三"); map.put(null, "李四"); map.put(30, "王五"); map.put(6, "趙六"); map.put(25, "張三"); System.out.println(map.get(8)); System.out.println(map.get(null)); } }
程序運(yùn)行結(jié)果:
張三
李四


Map和Collection在操作上的不同:
Collection接口設(shè)置完內(nèi)容的目的是為了輸出
Map接口設(shè)置完的目的是為了查找


例:取得全部key妈嘹,全部的key通過set集合返回
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class test{ public static void main(String[] args) { Map <Integer,String> map = new HashMap<Integer,String>(); map.put(8, "張三"); map.put(null, "李四"); map.put(30, "王五"); map.put(6, "趙六"); map.put(25, "張三"); Set<Integer>set = map.keySet(); Iterator <Integer>iter = set.iterator(); while(iter.hasNext()){ Integer key =iter.next(); System.out.println(key+"---->"+map.get(key)); } } }
程序運(yùn)行結(jié)果:
null---->李四

6---->趙六
8---->張三
25---->張三
30---->王五

1.2 Hashtable

Hashtable不能設(shè)置NULL
HashMap和Hashtable的區(qū)別

No 區(qū)別 HashMap Hashtable
1 推出時(shí)間 JDK1.2 JDK1.0
2 性能 采用異步處理方式,性能更高 采用同步處理方式绍妨,性能相對(duì)較低
3 安全性 非線程安全 線程安全
4 設(shè)置null 允許將key或value設(shè)置為null 不允許出現(xiàn)null否則出現(xiàn)空指針異常

關(guān)于Map集合的輸出問題

public static interface Map.Entry<K,V>
這是一個(gè)在Map接口中使用static定義的一個(gè)內(nèi)部接口

在Map.Entry內(nèi)部接口中有兩個(gè)常用方法
取得當(dāng)前的key:public K getKey();
取得當(dāng)前的value:public V getValue();

Map使用使用Iterator輸出的操作步驟

1使用Map接口中的entrySet()方法润脸,將Map集合變?yōu)镾et集合
2.取得了Set接口實(shí)例后就可以利用iterator()方法取得Iterator的實(shí)例化對(duì)象
3.使用Iterator迭代找到每一個(gè)Map.Entry對(duì)象,并進(jìn)行key和value的分離

import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class test{ public static void main(String[] args) { Map<Integer,String>map=new HashMap<Integer,String>(); map.put(3,"hehe"); map.put(4,"haha"); map.put(20,"niebi"); Set<Map.Entry<Integer,String>>set=map.entrySet(); Iterator<Map.Entry<Integer,String>> iter=set.iterator(); while(iter.hasNext()){ Map.Entry<Integer, String> me =iter.next(); System.out.println(me.getKey()+" "+me.getValue()); } } }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末他去,一起剝皮案震驚了整個(gè)濱河市毙驯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌灾测,老刑警劉巖爆价,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異媳搪,居然都是意外死亡铭段,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門蛾号,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)稠项,“玉大人,你說我怎么就攤上這事鲜结≌乖耍” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵精刷,是天一觀的道長(zhǎng)拗胜。 經(jīng)常有香客問我,道長(zhǎng)怒允,這世上最難降的妖魔是什么埂软? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上勘畔,老公的妹妹穿的比我還像新娘所灸。我一直安慰自己,他們只是感情好炫七,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布爬立。 她就那樣靜靜地躺著,像睡著了一般万哪。 火紅的嫁衣襯著肌膚如雪侠驯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天奕巍,我揣著相機(jī)與錄音吟策,去河邊找鬼。 笑死的止,一個(gè)胖子當(dāng)著我的面吹牛檩坚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播冲杀,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼效床,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了权谁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤憋沿,失蹤者是張志新(化名)和其女友劉穎旺芽,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辐啄,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡采章,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了壶辜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片悯舟。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖砸民,靈堂內(nèi)的尸體忽然破棺而出抵怎,到底是詐尸還是另有隱情,我是刑警寧澤岭参,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布反惕,位于F島的核電站,受9級(jí)特大地震影響演侯,放射性物質(zhì)發(fā)生泄漏姿染。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一秒际、第九天 我趴在偏房一處隱蔽的房頂上張望悬赏。 院中可真熱鬧狡汉,春花似錦、人聲如沸闽颇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)进萄。三九已至捻脖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間中鼠,已是汗流浹背可婶。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留援雇,地道東北人矛渴。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像惫搏,于是被迫代替她去往敵國(guó)和親具温。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home...
    光劍書架上的書閱讀 3,856評(píng)論 2 8
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法筐赔,類相關(guān)的語(yǔ)法铣猩,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法茴丰,異常的語(yǔ)法达皿,線程的語(yǔ)...
    子非魚_t_閱讀 31,581評(píng)論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)贿肩,斷路器峦椰,智...
    卡卡羅2017閱讀 134,599評(píng)論 18 139
  • 《美好生活》作者有兩位喬納森·弗雷格曼和奧維·洛夫格倫。奧維·洛夫格倫汰规,瑞典隆德大學(xué)歐洲民族學(xué)教授汤功,主要關(guān)注文化分...
    ShineLau閱讀 838評(píng)論 0 0
  • category: category的主要作用是為已經(jīng)存在的類添加方法茬射。 extension: extension...
    maybenai閱讀 777評(píng)論 0 1