原文: https://beginnersbook.com/2013/12/hashmap-in-java-with-example/

HashMap是一个基于Map的集合类,用于存储键值对,表示为HashMap<Key, Value>HashMap<K, V>。此类不保证映射的顺序。它类似于Hashtable类,除了它是不同步的并且允许空值(空值和空键)。

它不是有序集合,这意味着它不会按照它们插入HashMap的顺序返回键和值。它不会对存储的键和值进行排序。您必须导入java.util.HashMap或其超类才能使用HashMap类和方法。

Java 中的HashMap示例:

在这个例子中,我们已经演示了几乎所有HashMap类的重要方法。

  1. import java.util.HashMap;
  2. import java.util.Map;
  3. import java.util.Iterator;
  4. import java.util.Set;
  5. public class Details {
  6. public static void main(String args[]) {
  7. /* This is how to declare HashMap */
  8. HashMap<Integer, String> hmap = new HashMap<Integer, String>();
  9. /*Adding elements to HashMap*/
  10. hmap.put(12, "Chaitanya");
  11. hmap.put(2, "Rahul");
  12. hmap.put(7, "Singh");
  13. hmap.put(49, "Ajeet");
  14. hmap.put(3, "Anuj");
  15. /* Display content using Iterator*/
  16. Set set = hmap.entrySet();
  17. Iterator iterator = set.iterator();
  18. while(iterator.hasNext()) {
  19. Map.Entry mentry = (Map.Entry)iterator.next();
  20. System.out.print("key is: "+ mentry.getKey() + " & Value is: ");
  21. System.out.println(mentry.getValue());
  22. }
  23. /* Get values based on key*/
  24. String var= hmap.get(2);
  25. System.out.println("Value at index 2 is: "+var);
  26. /* Remove values based on key*/
  27. hmap.remove(3);
  28. System.out.println("Map key and values after removal:");
  29. Set set2 = hmap.entrySet();
  30. Iterator iterator2 = set2.iterator();
  31. while(iterator2.hasNext()) {
  32. Map.Entry mentry2 = (Map.Entry)iterator2.next();
  33. System.out.print("Key is: "+mentry2.getKey() + " & Value is: ");
  34. System.out.println(mentry2.getValue());
  35. }
  36. }
  37. }

输出:

  1. key is: 49 & Value is: Ajeet
  2. key is: 2 & Value is: Rahul
  3. key is: 3 & Value is: Anuj
  4. key is: 7 & Value is: Singh
  5. key is: 12 & Value is: Chaitanya
  6. Value at index 2 is: Rahul
  7. Map key and values after removal:
  8. Key is: 49 & Value is: Ajeet
  9. Key is: 2 & Value is: Rahul
  10. Key is: 7 & Value is: Singh
  11. Key is: 12 & Value is: Chaitanya

HashMap类方法

以下是HashMap类中可用的方法列表。我还在本文末尾介绍了使用这些方法的示例。

  1. void clear():它从指定的Map中删除所有键和值对。
  2. Object clone():它返回映射所有映射的副本,用于将它们克隆到另一个映射中。
  3. boolean containsKey(Object key):它是一个布尔函数,它根据是否在映射中找到指定的键返回truefalse
  4. boolean containsValue(Object Value):与containsKey()方法类似,但它查找指定的值而不是key
  5. Value get(Object key):返回指定键的值。
  6. boolean isEmpty():它检查映射是否为空。如果映射中没有键值映射,则此函数返回true,否则返回false
  7. Set keySet():返回从映射中获取的键的Set
  8. Value put(Key k, Value v):将键值映射插入到映射中。用于上面的例子。
  9. int size():返回映射的大小 - 键值映射的数量。
  10. Set values():返回映射的值集合。
  11. Value remove(Object key):删除指定键的键值对。用于上面的例子。
  12. void putAll(Map m):将映射的所有元素复制到另一个指定的映射。

HashMap教程

以下是在HashMap类上发布的教程列表。学习快乐!

HashMap基础知识

  1. 如何迭代HashMap
  2. 按键和值排序HashMap
  3. 获取HashMap的大小
  4. HashMap中删除键值映射
  5. HashMap中删除所有映射
  6. 如何检查HashMap是否为空?

获取/搜索

  1. 检查HashMap中是否存在特定键
  2. 检查HashMap中是否存在特定值

序列化/同步

  1. 序列化HashMap
  2. 同步HashMap

差异

  1. HashMapArrayList
  2. HashMap vs Hashtable
  3. HashSet vs HashMap

其他教程

  1. HashMap Iterator示例
  2. 将一个HashMap复制到另一个
  3. 使用键从HashMap获取值
  4. HashMap获取键集视图
  5. 克隆HashMap

参考:

HashMap文档