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

Android Map 獲取指定 Key 的 Value 方法詳解

     編輯:程式設計綜合問答

直接回答

String value = map.get("2"); // 返回 "第二個數"

核心 API

  • V get(Object key):返回鍵對應的值,鍵不存在返回 null。
  • V getOrDefault(Object key, V defaultValue) (Java 8+):鍵不存在返回默認值,避免 NPE。
  • boolean containsKey(Object key):判斷鍵是否存在。

完整示例

Map map = new HashMap<>();
map.put("1", "第一個數");
map.put("2", "第二個數");
map.put("3", "第三個數");

// 1. 直接獲取
String val = map.get("2");
System.out.println(val); // 第二個數

// 2. 安全獲取(Java 8+)
String safeVal = map.getOrDefault("99", "默認值");
System.out.println(safeVal); // 默認值

// 3. 遍歷所有
for (Map.Entry entry : map.entrySet()) {
    System.out.println(entry.getKey() + "=" + entry.getValue());
}

Android 特有注意事項

  • 主線程操作 Map 安全:單線程訪問無需加鎖;多線程並發讀寫請用 Collections.synchronizedMap 或 ConcurrentHashMap。
  • Parcelable 傳遞:Intent/Bundle 傳遞 Map 時,需轉為 HashMap(實現了 Serializable),或自定義 Parcelable 包裝類。
  • SharedPreferences 實質是 XML:非 Map 實現,讀寫需用 getString(key, def) 等專用方法。

性能提示

HashMap 獲取時間複雜度 O(1);若頻繁遍歷且數據量大,考慮改用 ArrayMap(Android 優化,內存佔用更低,遍歷稍快,獲取 O(log n))。

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