欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

學(xué)習(xí)Java HashMap,看這篇就夠了

 更新時間:2020年07月06日 10:06:48   作者:菜鳥教程  
這篇文章主要介紹了Java HashMap的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下

HashMap 是一個散列表,它存儲的內(nèi)容是鍵值對(key-value)映射。

HashMap 實現(xiàn)了 Map 接口,根據(jù)鍵的 HashCode 值存儲數(shù)據(jù),具有很快的訪問速度,最多允許一條記錄的鍵為 null,不支持線程同步。

HashMap 是無序的,即不會記錄插入的順序。

HashMap 繼承于AbstractMap,實現(xiàn)了 Map、Cloneable、java.io.Serializable 接口。

HashMap 的 key 與 value 類型可以相同也可以不同,可以是字符串(String)類型的 key 和 value,也可以是整型(Integer)的 key 和字符串(String)類型的 value。

HashMap 中的元素實際上是對象,一些常見的基本類型可以使用它的包裝類。

基本類型對應(yīng)的包裝類表如下:

基本類型 引用類型
boolean Boolean
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character

HashMap 類位于 java.util 包中,使用前需要引入它,語法格式如下

import java.util.HashMap; // 引入 HashMap 類

以下實例我們創(chuàng)建一個 HashMap 對象 Sites, 整型(Integer)的 key 和字符串(String)類型的 value:

HashMap<Integer, String> Sites = new HashMap<Integer, String>();

添加元素

HashMap 類提供類很多有用的方法,添加鍵值對(key-value)可以使用 put() 方法:

// 引入 HashMap 類  
import java.util.HashMap;

public class RunoobTest {
 public static void main(String[] args) {
  // 創(chuàng)建 HashMap 對象 Sites
  HashMap<Integer, String> Sites = new HashMap<Integer, String>();
  // 添加鍵值對
  Sites.put(1, "Google");
  Sites.put(2, "Runoob");
  Sites.put(3, "Taobao");
  Sites.put(4, "Zhihu");
  System.out.println(Sites);
 }
}

執(zhí)行以上代碼,輸出結(jié)果如下:

{1=Google, 2=Runoob, 3=Taobao, 4=Zhihu}

以下實例創(chuàng)建一個整型(String)的 key 和 整型(String)的 value:

// 引入 HashMap 類  
import java.util.HashMap;

public class RunoobTest {
 public static void main(String[] args) {
  // 創(chuàng)建 HashMap 對象 Sites
  HashMap<String, String> Sites = new HashMap<String, String>();
  // 添加鍵值對
  Sites.put("one", "Google");
  Sites.put("two", "Runoob");
  Sites.put("three", "Taobao");
  Sites.put("four", "Zhihu");
  System.out.println(Sites);
 }
}

執(zhí)行以上代碼,輸出結(jié)果如下:

{four=Zhihu, one=Google, two=Runoob, three=Taobao}

訪問元素

我們可以使用 get(key) 方法來獲取 key 對應(yīng)的 value:

// 引入 HashMap 類  
import java.util.HashMap;

public class RunoobTest {
 public static void main(String[] args) {
  // 創(chuàng)建 HashMap 對象 Sites
  HashMap<Integer, String> Sites = new HashMap<Integer, String>();
  // 添加鍵值對
  Sites.put(1, "Google");
  Sites.put(2, "Runoob");
  Sites.put(3, "Taobao");
  Sites.put(4, "Zhihu");
  System.out.println(Sites.get(3));
 }
}

執(zhí)行以上代碼,輸出結(jié)果如下:

Taobao

刪除元素

我們可以使用 remove(key) 方法來刪除 key 對應(yīng)的鍵值對(key-value):

// 引入 HashMap 類  
import java.util.HashMap;

public class RunoobTest {
 public static void main(String[] args) {
  // 創(chuàng)建 HashMap 對象 Sites
  HashMap<Integer, String> Sites = new HashMap<Integer, String>();
  // 添加鍵值對
  Sites.put(1, "Google");
  Sites.put(2, "Runoob");
  Sites.put(3, "Taobao");
  Sites.put(4, "Zhihu");
  Sites.remove(4);
  System.out.println(Sites);
 }
}

執(zhí)行以上代碼,輸出結(jié)果如下:

{1=Google, 2=Runoob, 3=Taobao}

刪除所有鍵值對(key-value)可以使用 clear 方法:

// 引入 HashMap 類  
import java.util.HashMap;

public class RunoobTest {
 public static void main(String[] args) {
  // 創(chuàng)建 HashMap 對象 Sites
  HashMap<Integer, String> Sites = new HashMap<Integer, String>();
  // 添加鍵值對
  Sites.put(1, "Google");
  Sites.put(2, "Runoob");
  Sites.put(3, "Taobao");
  Sites.put(4, "Zhihu");
  Sites.clear();
  System.out.println(Sites);
 }
}

執(zhí)行以上代碼,輸出結(jié)果如下:

{}

計算大小

如果要計算 HashMap 中的元素數(shù)量可以使用 size() 方法:

// 引入 HashMap 類  
import java.util.HashMap;

public class RunoobTest {
 public static void main(String[] args) {
  // 創(chuàng)建 HashMap 對象 Sites
  HashMap<Integer, String> Sites = new HashMap<Integer, String>();
  // 添加鍵值對
  Sites.put(1, "Google");
  Sites.put(2, "Runoob");
  Sites.put(3, "Taobao");
  Sites.put(4, "Zhihu");
  System.out.println(Sites.size());
 }
}

執(zhí)行以上代碼,輸出結(jié)果如下:

4

迭代 HashMap

可以使用 for-each 來迭代 HashMap 中的元素。

如果你只想獲取 key,可以使用 keySet() 方法,如果你只想獲取 value,可以使用 values() 方法。

// 引入 HashMap 類  
import java.util.HashMap;

public class RunoobTest {
 public static void main(String[] args) {
  // 創(chuàng)建 HashMap 對象 Sites
  HashMap<Integer, String> Sites = new HashMap<Integer, String>();
  // 添加鍵值對
  Sites.put(1, "Google");
  Sites.put(2, "Runoob");
  Sites.put(3, "Taobao");
  Sites.put(4, "Zhihu");
  // 輸出 key 和 value
  for (Integer i : Sites.keySet()) {
   System.out.println("key: " + i + " value: " + Sites.get(i));
  }
 }
}

執(zhí)行以上代碼,輸出結(jié)果如下:

key: 1 value: Google
key: 2 value: Runoob
key: 3 value: Taobao
key: 4 value: Zhihu

以上就是詳解Java HashMap的詳細(xì)內(nèi)容,更多關(guān)于Java HashMap的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Spring Boot系列教程之死信隊列詳解

    Spring Boot系列教程之死信隊列詳解

    這篇文章主要給大家介紹了關(guān)于Spring Boot系列教程之死信隊列的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Java 中校驗時間格式的常見方法

    Java 中校驗時間格式的常見方法

    在實際項目開發(fā)中,跟時間參數(shù)打交道是必不可少的,為了保證程序的安全性、健壯性,一般都會對參數(shù)進(jìn)行校驗,其他類型的參數(shù)校驗很好實現(xiàn),那你知道時間參數(shù)的是怎么校驗的嗎,下面給大家分享Java 中校驗時間格式的方法,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • idea下如何設(shè)置項目啟動的JVM運(yùn)行內(nèi)存大小

    idea下如何設(shè)置項目啟動的JVM運(yùn)行內(nèi)存大小

    這篇文章主要介紹了idea下如何設(shè)置項目啟動的JVM運(yùn)行內(nèi)存大小問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • SpringBoot中實現(xiàn)定時任務(wù)的4種方式詳解

    SpringBoot中實現(xiàn)定時任務(wù)的4種方式詳解

    這篇文章主要介紹了SpringBoot中實現(xiàn)定時任務(wù)的4種方式詳解,在Springboot中定時任務(wù)是一項經(jīng)常能用到的功能,實現(xiàn)定時任務(wù)的方式有很多,今天來介紹常用的幾種,需要的朋友可以參考下
    2023-11-11
  • java基礎(chǔ)之 “==”與“equals”區(qū)別詳解

    java基礎(chǔ)之 “==”與“equals”區(qū)別詳解

    這篇文章主要介紹了java基礎(chǔ)之 “==”與“equals”區(qū)別詳解,需要的朋友可以參考下
    2020-02-02
  • Java實現(xiàn)學(xué)生信息管理系統(tǒng)IO版本

    Java實現(xiàn)學(xué)生信息管理系統(tǒng)IO版本

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)學(xué)生信息管理系統(tǒng)IO版本,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • java實現(xiàn)短地址服務(wù)的方法(附代碼)

    java實現(xiàn)短地址服務(wù)的方法(附代碼)

    大多數(shù)情況下URL太長,字符多,不便于發(fā)布復(fù)制和存儲,本文就介紹了通過java實現(xiàn)短地址服務(wù),減少了許多使用太長URL帶來的不便,需要的朋友可以參考下
    2015-07-07
  • @Query注解的原生用法和native用法解析

    @Query注解的原生用法和native用法解析

    這篇文章主要介紹了@Query注解的原生用法和native用法解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • SpringBoot中的攔截器細(xì)節(jié)解析

    SpringBoot中的攔截器細(xì)節(jié)解析

    這篇文章主要介紹了SpringBoot中的攔截器細(xì)節(jié)解析,攔截器的概念、作用、實現(xiàn)方式、執(zhí)行順序、生命周期以及高級應(yīng)用,最后,我們還將探討攔截器的性能優(yōu)化策略和常見問題,需要的朋友可以參考下
    2023-09-09
  • 解決跨域請求,NG返回403(403并不一定是NG問題)

    解決跨域請求,NG返回403(403并不一定是NG問題)

    這篇文章主要介紹了解決跨域請求,NG返回403(403并不一定是NG問題),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評論