中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

Java HashMap

Java 集合框架 Java 集合框架

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

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

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

HashMap 繼承于AbstractMap,實現了 Map、Cloneable、java.io.Serializable 接口。

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

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

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

基本類型引用類型
booleanBoolean
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter

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 中的元素數量可以使用 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

更多 API 方法可以查看:/manual/jdk11api/java.base/java/util/HashMap.html

Java 集合框架 Java 集合框架

其他擴展