首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Java HashMap 修改指定鍵值並輸出的正確寫法

     編輯:程式設計疑難解答

在 Java 中使用 HashMap 儲存鍵值對時,修改特定鍵對應的值並輸出是常見操作。本文示範標準寫法並說明常見誤區。

正確程式碼範例

import java.util.HashMap;

public class SalaryDemo {
    public static void main(String[] args) {
        HashMap<String, Integer> salaryMap = new HashMap<>();
        
        // 初始資料
        salaryMap.put("張三", 8000);
        salaryMap.put("李四", 7500);
        
        // 修改張三薪資
        salaryMap.put("張三", 8500); // 同鍵 put 會覆蓋舊值
        
        // 輸出驗證
        System.out.println("張三薪資: " + salaryMap.get("張三")); // 8500
        
        // 遍歷輸出所有
        for (String name : salaryMap.keySet()) {
            System.out.println(name + ": " + salaryMap.get(name));
        }
    }
}

關鍵點解析

  • put(key, value):若鍵存在則更新值並回傳舊值;不存在則新增並回傳 null。
  • get(key):取得鍵對應值,鍵不存在回傳 null。
  • 泛型宣告:HashMap<String, Integer> 確保型別安全,避免強制轉型。

進階:條件式更新 (Java 8+)

// 僅當薪資低於 9000 時調薪
salaryMap.computeIfPresent("張三", (k, v) -> v < 9000 ? v + 500 : v);

// 或使用 merge
salaryMap.merge("張三", 500, (old, inc) -> old + inc);

常見錯誤提醒

  1. 使用原始型別 HashMap 而非泛型,導致取值需強轉且不安全。
  2. 誤以為 put 會新增重複鍵(實為覆蓋)。
  3. 多執行緒環境下直接用 HashMap,應改用 ConcurrentHashMap。

掌握 HashMap 基本操作,即可輕鬆完成鍵值資料的增刪改查與條件更新。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved