国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

集合框架Map概述和特點(diǎn),Map集合的基本功能,Map集合的遍歷,HashMap集合,

2019-11-10 19:16:40
字體:
供稿:網(wǎng)友

java 18

Map集合和Collection集合的區(qū)別:

1.Map集合存儲(chǔ)元素是成對(duì)出現(xiàn)的,Map集合有一個(gè)鍵和值,鍵是唯一的,但是值是可以重復(fù)的。 2.Collection 存儲(chǔ)的是單獨(dú)出現(xiàn)的元素,子接口Set元素唯一,子接口List元素是可以重復(fù)的。


Map接口功能概述

A:添加功能 B:刪除功能 C:判斷功能 D:獲取功能 E:長度功能

接下來我們用一段代碼來演示:

public class MapDemo1 { public static void main(String[] args) { //創(chuàng)建map集合 Map<String,String> m = new HashMap<String,String>(); //添加元素 m.put("小米","大米"); m.put("小王","大王"); m.put("小明","大明"); //刪除功能 //System.out.我們運(yùn)行得到的結(jié)果如下:

containKey:true containKey:false isEmpty:false size:3 獲取鍵值:大王

Map 獲取所有鍵的集合

我們?cè)诤竺嫣砑尤缦麓a:

Set<String> s = m.keySet();//獲取鍵的集合 for (String key : s){ System.out.println(key); }

輸出結(jié)果:

小明 小王 小米

我們根據(jù)輸出的結(jié)果發(fā)現(xiàn),Map集合的順序和代碼內(nèi)容是不一樣的,由此可得,Map集合是無序的。

Map獲取所有值的集合

我們添加如下代碼

Collection<String> collection = m.values(); //Map獲取所有值的集合 for (String valuse : collection){ System.out.println(valuse); }

輸出結(jié)果:

大明 大王 大米

那么我們使用了這兩種方法遍歷之后,我們改怎么樣去根據(jù)鍵去找值呢? 添加如下代碼:

Set<String> se = m.keySet(); for (String key:se){ String valus = m.get(key); System.out.println(key+"--"+valus); }

輸出結(jié)果:

小明–大明 小王–大王 小米–大米

但是呢上面都不是集合的遍歷,都只是值和鍵之間的遍歷,接下來來看一種Map集合的遍歷。

Map集合的遍歷

第一種方法:

鍵找值 a:獲取所有鍵的集合 b:遍歷鍵的集合,得到每一個(gè)鍵 c:根據(jù)鍵到集合中去找值

首先我們創(chuàng)建一個(gè)集合對(duì)象,并添加元素

// Set<Map.Entry<K,V>> entrySet()public class MapDemo3 { public static void main(String[] args) { // TODO 自動(dòng)生成的方法存根 //創(chuàng)建集合對(duì)象 Map<String, String> map = new HashMap<String, String>(); //創(chuàng)建元素 添加到集合 map.put("key1","value1"); map.put("key2","value2"); map.put("key3","value3"); map.put("key4","value4");

遍歷的第一種方式:

鍵值對(duì)對(duì)象找鍵和值 a:獲取所有的鍵值對(duì)對(duì)象的集合 b:遍歷鍵值對(duì)對(duì)象的集合,獲取每一個(gè)鍵值對(duì)對(duì)象 c:根據(jù)鍵值對(duì)對(duì)象去獲取鍵和值

//遍歷一 Set<Map.Entry<String, String>> set = map.entrySet(); for (Entry<String, String> entry : set) { String key = entry.getKey(); String value = entry.getValue(); System.out.println(key+"-----"+value); }

得到的結(jié)果如下:

key1—–value1 key2—–value2 key3—–value3 key4—–value4

這樣我們就成功的遍歷出了Map集合

但是我們還有一種遍歷集合的方式:

//遍歷方式二 System.out.println("遍歷方式二"); Set<String> set2 = map.keySet(); for (String key : set2){ String value = map.get(key); System.out.println(key+"----"+value);

結(jié)果如下:

遍歷方式二 key1—-value1 key2—-value2 key3—-value3 key4—-value4

HashMap集合

HashMap類:鍵是哈希表結(jié)構(gòu),可以保證鍵的唯一性

public static void main(String[] args) { // TODO 自動(dòng)生成的方法存根 // 創(chuàng)建學(xué)生對(duì)象 HashMap<String, Student> hashMap = new HashMap<String, Student>(); // 創(chuàng)建學(xué)生對(duì)象 Student s1 = new Student("小明", 11); Student s2 = new Student("小王", 21); Student s3 = new Student("小黑", 33); // 添加學(xué)生元素 hashMap.put("1", s1); hashMap.put("2", s3); hashMap.put("3", s2); // 遍歷 Set<String> set5 = hashMap.keySet(); for (String key : set5) { Student v = hashMap.get(key); System.out.println(key + "-----" + v.getAge() + v.getName()); } }}

輸出結(jié)果如下:

1—–11小明 2—–33小黑 3—–21小王


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宣城市| 淅川县| 潞城市| 丰台区| 海安县| 垦利县| 南昌县| 英超| 南昌市| 吴江市| 内丘县| 修文县| 马公市| 汉沽区| 盐亭县| 花垣县| 浪卡子县| 运城市| 景洪市| 于都县| 汕尾市| 鞍山市| 阿坝县| 紫云| 昆山市| 日土县| 岗巴县| 芒康县| 台中市| 如东县| 新巴尔虎右旗| 宁强县| 泰安市| 海门市| 佳木斯市| 杭州市| 平果县| 墨江| 郓城县| 灵川县| 镇巴县|