Java中HashMap类方法及示例 | 第1篇 (put(), get(), isEmpty()和size())
HashMap是一种数据结构,它使用哈希函数将标识值(称为键)映射到它们的关联值。它包含“键值对”,并允许通过键检索值。
最印象深刻的特点是它对于大量元素的快速查找。默认情况下,它不是同步的,但我们可以在创建时调用
Map myhash = Collections.synchronizedMap(hashMap);
防止对映射进行意外的非同步访问。
以下是各种重要的HashMap类方法。本文将解释:put(),get(),isEmpty()和size()
put(): java.util.HashMap.put()是将指定值与此映射中的指定键相关联的方法。 如果映射以前包含键的映射,则旧值将被替换掉。
语法:
public V put(K key,V value)
参数:
key – 要与指定值相关联的键
value – 与指定键相关联的值
返回值: 与 key 关联的先前值,如果没有键的映射,则为 null。
get(): java.util.HashMap.get()方法返回指定键所映射的值,如果此映射不包含该键的映射,则返回 null。
语法:
public V get(Object key)
参数:
key – 要返回其关联值的键
返回值: 与指定键相关联的值,如果此映射不包含该键的映射,则返回 null。
isEmpty(): java.util.HashMap.isEmpty()方法返回true表示此映射未包含键值映射。
语法:
public boolean isEmpty()
返回值: true如果此映射未包含键值映射
size(): java.util.HashMap.size()返回此映射中的键值映射数。
语法:
public int size()
返回值: 此映射中的键值映射数。
remove(): java.util.HashMap.remove()从HashMap中删除与指定键关联的键值对。
语法:
public V remove(Object key)
参数:
key – 要从映射中删除其映射的键。
返回值: 与指定键关联的先前值,如果此映射不包含键的映射,则为 null。
containsKey(): java.util.HashMap.containsKey()返回true如果该HashMap包含指定键,否则返回false。
语法:
public boolean containsKey(Object key)
参数:
key – 要在此映射中测试其出现的键。
返回值: true如果此映射包含指定键的映射,则为真;否则为false。
containsValue(): java.util.HashMap.containsValue()返回true如果该HashMap包含指定的值,否则返回false。
语法:
public boolean containsValue(Object value)
参数:
value – 要在此映射中测试其出现的值。
返回值: true如果此映射将一个或多个键映射到指定值,则为真;否则为false。
clear(): java.util.HashMap.clear()从HashMap中删除所有键值对。
语法:
public void clear()
返回值: None (void)。
keySet(): java.util.HashMap.keySet() 方法返回包含HashMap中所有键的Set。
语法:
public Set<K> keySet()
返回: 该映射中包含的键的Set视图。
values(): java.util.HashMap.values() 方法返回包含HashMap中所有值的Collection。
语法:
public Collection<V> values()
返回: 该映射中包含的值的Collection视图。
entrySet(): java.util.HashMap.entrySet()方法返回一个Set,包含HashMap中所有的键值对作为Map.Entry对象。
语法:
public Set<Map.Entry<K,V>> entrySet()
Return: 该映射中包含的映射的set视图。
实现上述方法的演示程序
// Java演示程序说明了HashMap方法的使用 -
import java.util.*;
public class NewClass {
public static void main(String args[])
{
// 创建HashMap
HashMap<String, String> Geeks = new HashMap<>();
// 使用put()方法将值添加到HashMap中
Geeks.put("Language", "Java");
Geeks.put("Platform", "Geeks For Geeks");
Geeks.put("Code", "HashMap");
Geeks.put("Learn", "More");
// 打印HashMap的值
System.out.println("HashMap的内容: " + Geeks);
// 打印HashMap的大小
System.out.println("HashMap的大小为: "
+ Geeks.size());
// 使用get()方法从HashMap中检索值
String language = Geeks.get("Language");
System.out.println("Language: " + language);
// 使用containsKey()方法检查键是否存在于HashMap中
boolean containsKey = Geeks.containsKey("Code");
System.out.println("是否包含键'Code'?"
+ containsKey);
// 使用containsValue()方法检查值是否存在于HashMap中
boolean containsValue = Geeks.containsValue("More");
System.out.println("是否包含值'More'?"
+ containsValue);
// 使用keySet()方法检索HashMap中所有键的Set
Set<String> keySet = Geeks.keySet();
System.out.println("键的Set: " + keySet);
// 使用values()方法检索HashMap中所有值的Collection
Collection<String> values = Geeks.values();
System.out.println("值: " + values);
// 使用entrySet()方法检索HashMap中所有键值对的Set
Set<Map.Entry<String, String> > entrySet
= Geeks.entrySet();
System.out.println("键值对的Set: " + entrySet);
// 使用remove()方法从HashMap中删除键值对
String removedValue = Geeks.remove("Code");
System.out.println("已删除值: "
+ removedValue);
// 使用clear()方法从HashMap中删除所有键值对
Geeks.clear();
System.out.println(
"清空后HashMap的内容: " + Geeks);
// 使用isEmpty()方法检查HashMap是否为空
boolean isEmpty = Geeks.isEmpty();
System.out.println("是否为空? " + isEmpty);
}
}
输出:
哈希表内容:{Language=Java, Platform=Geeks For Geeks, Learn=More, Code=HashMap}
哈希表大小:4
Language: Java
是否包含键 'Code'? true
是否包含值 'More'? true
键集合: [Language, Platform, Learn, Code]
值集合: [Java, Geeks For Geeks, More, HashMap]
键值对集合: [Language=Java, Platform=Geeks For Geeks, Learn=More, Code=HashMap]
已删除的值:HashMap
清空哈希表后的内容: {}
是否为空? true
极客教程