java中的HashMap用法總結

笨鳥賢妃發表於2020-11-23


前言

HashMap學習筆記


一、HashMap是什麼?

  1. HashMap 是一個雜湊表,它儲存的內容是鍵值對(key-value)對映。
  2. HashMap 實現了 Map 介面,根據鍵的 HashCode 值儲存資料,具有很快的訪問速度,最多允許一條記錄的鍵為
    null,不支援執行緒同步。
  3. HashMap 是無序的,即不會記錄插入的順序。
  4. HashMap 繼承於AbstractMap,實現了 Map、Cloneable、java.io.Serializable 介面。

二、Java HashMap 常用方法

在這裡插入圖片描述

三、程式碼示例

1.遍歷集合物件的三種方式

  • 轉陣列
Set<String> strings = map.keySet(); //以Set的形式返回所有的key,元素不允許重複
//轉陣列遍歷
        Object[] objects = strings.toArray();
        for (int i = 0; i < objects.length; i++) {
            System.out.println(objects[i]);
        }
  • 迭代器
Set<String> strings = map.keySet(); //以Set的形式返回所有的key,元素不允許重複
//迭代器遍歷
        Iterator<String> iterator = strings.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
  • 增強for
Set<String> strings = map.keySet(); //以Set的形式返回所有的key,元素不允許重複
//增強for遍歷
        for (String s : strings) {
            System.out.println(s);
        }

2.最重要的是Map遍歷,全部程式碼和執行結果如下

import java.util.*;

public class MapDemo {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("name1", "Tom");
        System.out.println(map.put("name2", "Jack")); //返回為null
        System.out.println(map.put("name1", "Jim")); //返回值為Tom
        map.put("name3", "Lili");

        System.out.println(map);
        Set<String> strings = map.keySet(); //以Set的形式返回所有的key,元素不允許重複
        Collection<String> values = map.values();

        //轉陣列遍歷
        Object[] objects = strings.toArray();
        for (int i = 0; i < objects.length; i++) {
            System.out.println(objects[i]);
        }
        //迭代器遍歷
        Iterator<String> iterator = strings.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
        //增強for遍歷
        for (String s : values) {
            System.out.println(s);
        }

        //遍歷Map
        Set<Map.Entry<String, String>> entries = map.entrySet();
        for (Map.Entry<String, String> entry : entries) {
            System.out.println(entry.getKey() + ":" + entry.getValue());
        }
//        System.out.println(map.remove("name2")); //刪除key為name2的對映關係,並且返回值為name2對應的value
    }
}
  • 執行結果
null
Tom
{name3=Lili, name2=Jack, name1=Jim}
name3
name2
name1
name3
name2
name1
Lili
Jack
Jim
name3:Lili
name2:Jack
name1:Jim


總結

HashMap學習記錄

相關文章