最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

學習Java HashMap,看這篇就夠了

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

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 中的元素實際上是對象,一些常見的基本類型可以使用它的包裝類。

基本類型對應的包裝類表如下:

基本類型 引用類型
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í)行以上代碼,輸出結果如下:

{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í)行以上代碼,輸出結果如下:

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

訪問元素

我們可以使用 get(key) 方法來獲取 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");
  System.out.println(Sites.get(3));
 }
}

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

Taobao

刪除元素

我們可以使用 remove(key) 方法來刪除 key 對應的鍵值對(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í)行以上代碼,輸出結果如下:

{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í)行以上代碼,輸出結果如下:

{}

計算大小

如果要計算 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í)行以上代碼,輸出結果如下:

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í)行以上代碼,輸出結果如下:

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

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

相關文章

  • 如何使用jenkins實現(xiàn)發(fā)布部分更新文件

    如何使用jenkins實現(xiàn)發(fā)布部分更新文件

    這篇文章主要介紹了如何使用jenkins實現(xiàn)發(fā)布部分更新文件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • Mybatis之a(chǎn)ssociation和collection用法

    Mybatis之a(chǎn)ssociation和collection用法

    這篇文章主要介紹了Mybatis之a(chǎn)ssociation和collection用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • java中 String和StringBuffer的區(qū)別實例詳解

    java中 String和StringBuffer的區(qū)別實例詳解

    這篇文章主要介紹了java中 String和StringBuffer的區(qū)別實例詳解的相關資料,一個小的例子,來測試String和StringBuffer在時間和空間使用上的差別,需要的朋友可以參考下
    2017-04-04
  • IntelliJ?IDEA?2021.3?正式發(fā)布之支持遠程開發(fā)、IDE故障排查等多項優(yōu)化改進

    IntelliJ?IDEA?2021.3?正式發(fā)布之支持遠程開發(fā)、IDE故障排查等多項優(yōu)化改進

    IntelliJ?IDEA?2021.3?正式發(fā)布:支持遠程開發(fā)、IDE故障排查等多項優(yōu)化改進問題,在這個版本中的遠程開發(fā)還不是一個正式版本,而是BETA版,但通過這個BETA版本,也可以體驗IDEA“遠程開發(fā)”給我們帶來的全新體驗
    2021-12-12
  • SpringMVC中@ModelAttribute與@RequestBody的區(qū)別及說明

    SpringMVC中@ModelAttribute與@RequestBody的區(qū)別及說明

    這篇文章主要介紹了SpringMVC中@ModelAttribute與@RequestBody的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Java利用策略模式優(yōu)化過多if else代碼

    Java利用策略模式優(yōu)化過多if else代碼

    這篇文章主要介紹了Java利用策略模式優(yōu)化過多if else代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • RabbitMQ消息單獨與批量的TTL詳細介紹

    RabbitMQ消息單獨與批量的TTL詳細介紹

    這篇文章主要介紹了RabbitMQ消息單獨與批量的TTL,TTL全名是Time To Live存活時間,表示當消息由生產(chǎn)端存入MQ當中的存活時間,當時間到達的時候還未被消息就會被自動清除,感興趣的同學可以參考下文
    2023-05-05
  • Spring的兩種事務管理機制的基本概念和demo示例

    Spring的兩種事務管理機制的基本概念和demo示例

    Spring事務包括聲明式事務管理和注解式事務管理,我們通過概念和小demo的形式一步一步地來一起學習這個知識點,需要的朋友可以參考下
    2023-07-07
  • Java通過匿名類來實現(xiàn)回調函數(shù)實例總結

    Java通過匿名類來實現(xiàn)回調函數(shù)實例總結

    這篇文章主要介紹了Java通過匿名類來實現(xiàn)回調函數(shù)的例子,回調函數(shù)就是一種函數(shù)簽名(若干個輸入?yún)?shù)、一個輸出參數(shù))的規(guī)范,java雖不存在函數(shù)聲明,但是java可以用接口來強制規(guī)范。具體操作步驟大家可查看下文的詳細講解,感興趣的小伙伴們可以參考一下。
    2017-08-08
  • Java模擬新浪微博登陸抓取數(shù)據(jù)

    Java模擬新浪微博登陸抓取數(shù)據(jù)

    本文主要介紹了Java模擬新浪微博登陸抓取數(shù)據(jù)的實現(xiàn)方法。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02

最新評論

岳池县| 苍溪县| 克拉玛依市| 龙山县| 唐河县| 宿松县| 宜丰县| SHOW| 繁峙县| 云南省| 芮城县| 吕梁市| 南陵县| 隆安县| 兴安盟| 成安县| 定边县| 通州区| 马关县| 两当县| 丹东市| 开远市| 荆门市| 佳木斯市| 江川县| 乌海市| 澄江县| 宝山区| 黄陵县| 山西省| 高平市| 廊坊市| 仁怀市| 津市市| 连南| 察隅县| 溆浦县| 大同市| 海盐县| 澜沧| 枣庄市|