Java Map集合詳解與演示
一、前言
map集合是我們常使用的集合,了解和使用map集合是必要的
二、Map介紹
基本形式: public interface Map<K,V>
Map是一個(gè)接口,我們不能直接創(chuàng)建對象,可以通過多態(tài)的形式創(chuàng)建對象,Map中有兩個(gè)
參數(shù),一個(gè)是K表示鍵,一個(gè)是V表示值,且一個(gè)鍵有且對應(yīng)一個(gè)值,Map中不能包含重復(fù)的
鍵,若是有重復(fù)的鍵添加,則會(huì)以最后一次的鍵為準(zhǔn),而其他的鍵會(huì)被覆蓋。集合都在
java.util包下,所以需要導(dǎo)包。
具體實(shí)現(xiàn)常用的一般有兩種,一是HashMap,另一個(gè)是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ù),會(huì)覆蓋上一個(gè),留下最新的
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集合的獲取功能

此方法多是用在遍歷集合時(shí),前三種比較常用也比較好記。
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();
//遍歷鍵的集合,得到每一個(gè)鍵
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)文章
Spring常用注解及自定義Filter的實(shí)現(xiàn)
這篇文章主要介紹了Spring常用注解及自定義Filter的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
Java 在Word中創(chuàng)建郵件合并模板并合并文本和圖片的操作方法
通過Java程序展示如何來實(shí)現(xiàn)創(chuàng)建模板,并通過郵件合并功能來合并文本數(shù)據(jù)和圖片數(shù)據(jù)的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-07-07
Java微信公眾平臺(tái)開發(fā)(14) 微信web開發(fā)者工具使用
這篇文章主要為大家詳細(xì)介紹了Java微信公眾平臺(tái)開發(fā)第十四步,微信web開發(fā)者工具的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
Java?json轉(zhuǎn)換實(shí)體類(JavaBean)及實(shí)體類(JavaBean)轉(zhuǎn)換json代碼示例
這篇文章主要介紹了兩種常見的JSON與Java實(shí)體類相互轉(zhuǎn)換的方法,分別是使用庫Jackson、Gson、Fastjson和在線工具,無論是將JSON轉(zhuǎn)換為Java實(shí)體類還是將Java實(shí)體類轉(zhuǎn)換為JSON,這些方法都能顯著簡化開發(fā)過程,需要的朋友可以參考下2024-12-12
SpringBoot實(shí)用小技巧之如何動(dòng)態(tài)設(shè)置日志級(jí)別
這篇文章主要給大家介紹了關(guān)于SpringBoot實(shí)用小技巧之如何動(dòng)態(tài)設(shè)置日志級(jí)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用SpringBoot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
JavaSwing基礎(chǔ)之Layout布局相關(guān)知識(shí)詳解
上次我們說到View的Mearsure流程,今天接著說說layout. 關(guān)于layout,很多朋友知道它是負(fù)責(zé)布局的,那么具體是怎么布局的?viewGroup和view的layout方法又有什么不同?一起來看看吧,需要的朋友可以參考下2021-05-05
Java編程實(shí)現(xiàn)的二維數(shù)組轉(zhuǎn)置功能示例
這篇文章主要介紹了Java編程實(shí)現(xiàn)的二維數(shù)組轉(zhuǎn)置功能,結(jié)合實(shí)例形式分析了Java二維數(shù)組的遍歷、運(yùn)算、賦值等實(shí)現(xiàn)轉(zhuǎn)置的相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
利用ssh實(shí)現(xiàn)服務(wù)器文件上傳下載
這篇文章主要為大家詳細(xì)介紹了如何利用ssh實(shí)現(xiàn)服務(wù)器文件上傳下載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09

