Java中HashMap类方法及示例 | 第1篇 (put(), get(), isEmpty()和size())

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程