Java Map集合詳解與演示
一、前言
map集合是我們常使用的集合,了解和使用map集合是必要的
二、Map介紹
基本形式: public interface Map<K,V>
Map是一個接口,我們不能直接創(chuàng)建對象,可以通過多態(tài)的形式創(chuàng)建對象,Map中有兩個
參數(shù),一個是K表示鍵,一個是V表示值,且一個鍵有且對應(yīng)一個值,Map中不能包含重復(fù)的
鍵,若是有重復(fù)的鍵添加,則會以最后一次的鍵為準(zhǔn),而其他的鍵會被覆蓋。集合都在
java.util包下,所以需要導(dǎo)包。
具體實(shí)現(xiàn)常用的一般有兩種,一是HashMap,另一個是TreeMap
import java.util.HashMap;
import java.util.Map;
public class MapTest {
public static void main(String[] args) {
Map<String,String> map=new HashMap<>();
map.put("2001", "張三");
map.put("2002", "張三");
map.put("2003", "李四");
map.put("2003", "王五");//鍵重復(fù),會覆蓋上一個,留下最新的
System.out.println(map);//{2003=王五, 2002=張三, 2001=張三}
}
}
由上可知,map中的鍵是不能重復(fù)的,而值是可以重復(fù)的可以直接通過輸出對象來得到
集合的內(nèi)容,說明此集合內(nèi)重寫了toString方法。
三、Map的基本功能

這些功能是常見的,掌握這些即可
Map功能演示:
import java.util.HashMap;
import java.util.Map;
public class MapTest {
public static void main(String[] args) {
//創(chuàng)建Map集合對象
Map<String,String> map=new HashMap<>();
//增加元素
map.put("2001", "張三");
map.put("2002", "李四");
map.put("2003", "王五");
System.out.println(map);//{2003=王五, 2002=李四, 2001=張三}
//根據(jù)鍵刪除元素
// map.remove("2001");
//System.out.println(map);//{2003=王五, 2002=李四}
//判斷集合中是否包含指定的鍵返回boolean類型
System.out.println(map.containsKey("2001"));//true
System.out.println(map.containsKey("2004"));//false
//判斷集合中是否包含指定的值返回boolean類型
System.out.println(map.containsValue("張三"));//true
System.out.println(map.containsValue("趙六"));//false
//判斷集合是否為空返回boolean類型
System.out.println(map.isEmpty());//false
//得到集合的長度
System.out.println(map.size());//3
//清除所有鍵值對
map.clear();
System.out.println(map.isEmpty());//true,為空了
}
}
四、 Map集合的獲取功能

此方法多是用在遍歷集合時,前三種比較常用也比較好記。
Map遍歷演示:
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Maptest2 {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("2001", "張三");
map.put("2002", "李四");
map.put("2003", "王五");
//遍歷集合
//方式1:
// 由鍵找值,創(chuàng)建鍵的集合
Set<String> keySet=map.keySet();
//遍歷鍵的集合,得到每一個鍵
for (String key:keySet){
//由鍵找值
String value=map.get(key);
//輸出鍵和值
System.out.print(key+" "+value+", ");
}
System.out.println("\n------------");
//方式2:
//獲取所有鍵值對的集合
Set<Map.Entry<String,String>> entrySet =map.entrySet();
//遍歷鍵值對集合
for (Map.Entry<String,String> me:entrySet){
//分別得到鍵和值
String key=me.getKey();
String value=me.getValue();
System.out.print(key+" "+value+", ");
}
}
}
如圖:

到此這篇關(guān)于Java Map集合詳解與演示的文章就介紹到這了,更多相關(guān)Java Map集合內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java jwt使用公鑰字符串驗(yàn)證解析token鎖方法詳解
關(guān)于java獲取Token驗(yàn)證的問題相信很多人都遇見過,尤其是對剛接觸微信開發(fā)的人來說確實(shí)有點(diǎn)棘手,下面這篇文章主要給大家介紹了關(guān)于Java中token驗(yàn)證解析的相關(guān)資料,需要的朋友可以參考下2023-02-02
SpringBoot快速入門及起步依賴解析(實(shí)例詳解)
SpringBoot?是由?Pivotal?團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來簡化?Spring?應(yīng)用的初始搭建以及開發(fā)過程,這篇文章主要介紹了SpringBoot快速入門及起步依賴解析,需要的朋友可以參考下2022-10-10
IntelliJ IDEA 下載安裝超詳細(xì)教程(推薦)
這篇文章主要介紹了IntelliJ IDEA 下載安裝超詳細(xì)教程(推薦),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02
解析SpringCloud簡介與微服務(wù)架構(gòu)
這篇文章主要介紹了SpringCloud簡介與微服務(wù)架構(gòu),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
同時使用@LoadBalanced?@RefreshScope注解負(fù)載均衡失效分析
這篇文章主要為大家介紹了同時使用@LoadBalanced?@RefreshScope負(fù)載均衡失效問題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
JAVA中使用JSON進(jìn)行數(shù)據(jù)傳遞示例
本篇文章主要介紹了JAVA中使用JSON進(jìn)行數(shù)據(jù)傳遞示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01

