日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

33、Map简介

發布時間:2024/9/21 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 33、Map简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Map接口概述

除了Collection之外,常用的集合還有Map接口,里面常用的實現類圖如下:

map中的元素是以鍵-值的方式存在的,通過鍵可以獲取到值,鍵是不可以重復的,跟地圖比較像,通過一個坐標就可以找到具體的位置。

package com.sutaoyu.Map;import java.util.Collection; import java.util.HashMap; import java.util.Map;public class Map_test_1 {public static void main(String[] args) {Map<Integer,String> map = new HashMap();String s1 = map.put(1001, "成龍");map.put(1002, "周潤發");map.put(1003, "周星馳");//將1001 成龍替換掉,并且返回被替換的成龍String s2 = map.put(1001, "房祖名");System.out.println(s1);System.out.println(s2);//判斷是否包含傳入的鍵System.out.println(map.containsKey(1002));//判斷是否包含傳入的值System.out.println(map.containsValue("周星馳"));//獲取map的大小 System.out.println(map.size());//將map中的值返回Collection<String> c = map.values();System.out.println(c);System.out.println(map);//刪除鍵是1001的數據并且將值返回 String s3 = map.remove(1001);System.out.println(s3);} }

Map的遍歷

方式一:Map中的keySet()返回的是一個包含所有鍵的Set類型的對象,通過鍵獲取值

package com.sutaoyu.Map;import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set;public class Map_test_2 {public static void main(String[] args) {Map<Integer, String> map = new HashMap<>();map.put(1001, "成龍");map.put(1002, "周潤發");map.put(1003, "周星馳");map.put(1004, "劉德華");// 通過鍵獲取值String s = map.get(1004);System.out.println(s);// 獲取map中所有的鍵返回給SetSet<Integer> keySet = map.keySet();//遍歷set獲取鍵,根據鍵獲取值Iterator<Integer> iter = keySet.iterator();while(iter.hasNext()) {Integer key = (Integer)iter.next();System.out.println("鍵:" + key + ",值:" + map.get(key));}使用增強for循環遍歷for(Integer key : map.keySet()) {System.out.println("鍵:" + key + ",值:" + map.get(key));}} }

方式二:Map中的鍵和值被封裝成了Entry對象,并存儲在Set集合中,通過entrySet()可以獲取到這個Set集合。

package com.monkey1024.map;import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set;/*** Map的遍歷**/ public class MapTest03 {public static void main(String[] args) {Map<Integer, String> map = new HashMap<>();map.put(1001, "成龍");map.put(1002, "周潤發");map.put(1003, "周星馳");map.put(1004, "劉德華");//鍵和值被封裝成了Entry對象,并存儲在Set集合中Set<Map.Entry<Integer,String>> entrySet = map.entrySet();Iterator<Map.Entry<Integer,String>> it = entrySet.iterator();while(it.hasNext()) {//獲取每一個Entry對象Entry<Integer,String> en = it.next(); //根據鍵值對對象獲取鍵Integer key = en.getKey(); //根據鍵值對對象獲取值String value = en.getValue(); System.out.println("鍵:" + key + ",值:" + value);}//增強for循環for (Entry<Integer, String> en : map.entrySet()) {System.out.println("鍵:" + en.getKey() + ",值:" + en.getValue());}} }

LinkedHashMap

LinkedHashMap的特點:存取順序一致

package com.monkey1024.map;import java.util.LinkedHashMap;/*** LinkedHashMap簡介**/ public class MapTest04 {public static void main(String[] args) {LinkedHashMap<Integer,String> lhm = new LinkedHashMap<>();lhm.put(1003, "周星馳");lhm.put(1004, "劉德華");lhm.put(1001, "成龍");lhm.put(1002, "周潤發");System.out.println(lhm);} }

TreeMap

TreeMap的特點:可以對存儲的元素進行排序

package com.monkey1024.map;import java.util.TreeMap;/*** TreeMap簡介**/ public class MapTest05 {public static void main(String[] args) {TreeMap<Integer,String> tm = new TreeMap<>();tm.put(1003, "周星馳");tm.put(1004, "劉德華");tm.put(1001, "成龍");tm.put(1002, "周潤發");System.out.println(tm);} }

HashMap和Hashtable的區別

Hashtable是JDK1.0版本出現的,是線程安全的,效率低,不可以存儲null鍵和null值
HashMap是JDK1.2版本出現的,可以存儲null鍵和null值

?

轉載于:https://www.cnblogs.com/zhuifeng-mayi/p/10136768.html

總結

以上是生活随笔為你收集整理的33、Map简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。