HashMap
是一个基于Map
的集合类,用于存储键值对,表示为HashMap<Key, Value>
或HashMap<K, V>
。此类不保证映射的顺序。它类似于Hashtable
类,除了它是不同步的并且允许空值(空值和空键)。
它不是有序集合,这意味着它不会按照它们插入HashMap
的顺序返回键和值。它不会对存储的键和值进行排序。您必须导入java.util.HashMap
或其超类才能使用HashMap
类和方法。
Java 中的HashMap
示例:
在这个例子中,我们已经演示了几乎所有HashMap
类的重要方法。
import java.util.HashMap;
import java.util.Map;
import java.util.Iterator;
import java.util.Set;
public class Details {
public static void main(String args[]) {
/* This is how to declare HashMap */
HashMap<Integer, String> hmap = new HashMap<Integer, String>();
/*Adding elements to HashMap*/
hmap.put(12, "Chaitanya");
hmap.put(2, "Rahul");
hmap.put(7, "Singh");
hmap.put(49, "Ajeet");
hmap.put(3, "Anuj");
/* Display content using Iterator*/
Set set = hmap.entrySet();
Iterator iterator = set.iterator();
while(iterator.hasNext()) {
Map.Entry mentry = (Map.Entry)iterator.next();
System.out.print("key is: "+ mentry.getKey() + " & Value is: ");
System.out.println(mentry.getValue());
}
/* Get values based on key*/
String var= hmap.get(2);
System.out.println("Value at index 2 is: "+var);
/* Remove values based on key*/
hmap.remove(3);
System.out.println("Map key and values after removal:");
Set set2 = hmap.entrySet();
Iterator iterator2 = set2.iterator();
while(iterator2.hasNext()) {
Map.Entry mentry2 = (Map.Entry)iterator2.next();
System.out.print("Key is: "+mentry2.getKey() + " & Value is: ");
System.out.println(mentry2.getValue());
}
}
}
输出:
key is: 49 & Value is: Ajeet
key is: 2 & Value is: Rahul
key is: 3 & Value is: Anuj
key is: 7 & Value is: Singh
key is: 12 & Value is: Chaitanya
Value at index 2 is: Rahul
Map key and values after removal:
Key is: 49 & Value is: Ajeet
Key is: 2 & Value is: Rahul
Key is: 7 & Value is: Singh
Key is: 12 & Value is: Chaitanya
HashMap
类方法
以下是HashMap
类中可用的方法列表。我还在本文末尾介绍了使用这些方法的示例。
void clear()
:它从指定的Map
中删除所有键和值对。Object clone()
:它返回映射所有映射的副本,用于将它们克隆到另一个映射中。boolean containsKey(Object key)
:它是一个布尔函数,它根据是否在映射中找到指定的键返回true
或false
。boolean containsValue(Object Value)
:与containsKey()
方法类似,但它查找指定的值而不是key
。Value get(Object key)
:返回指定键的值。boolean isEmpty()
:它检查映射是否为空。如果映射中没有键值映射,则此函数返回true
,否则返回false
。Set keySet()
:返回从映射中获取的键的Set
。Value put(Key k, Value v)
:将键值映射插入到映射中。用于上面的例子。int size()
:返回映射的大小 – 键值映射的数量。Set values()
:返回映射的值集合。Value remove(Object key)
:删除指定键的键值对。用于上面的例子。void putAll(Map m)
:将映射的所有元素复制到另一个指定的映射。