Java HashMap类方法及实例 – put(), get(), isEmpty() 和 size()

Java HashMap类方法及实例 – put(), get(), isEmpty() 和 size()

HashMap是一种数据结构,它使用哈希函数将识别值(称为键)映射到其相关的值。它包含 “键-值 “对,并允许按键检索值。

最令人印象深刻的特点是它可以快速查找元素,特别是对于大量的元素。默认情况下,它是不同步的,但我们可以通过调用

 Map myhash = Collections.synchronizedMap(hashMap);
Java

在创建时,以防止意外地对Map进行不同步的访问。

这些是各种重要的hashmap类方法。这篇文章解释了:put()、get()、isEmpty()和size()。

  1. put(): java.util.HashMap.put()的作用是将指定的值与该Map中的指定键联系起来。如果该Map以前包含了该键的映射,那么旧的值将被替换。

语法:

public V put(K key,V value)
Java

参数:
key – 与指定值相关联的键
value – 要与指定的键相关联的值
返回值:之前与键相关的值,如果没有键的映射,则返回空。

  1. get(): java.util.HashMap.get()方法返回指定键所映射的值,如果这个Map不包含键的映射,则返回null。

语法:

public V get(Object key)
Java

参数:
key – 要返回其关联值的键
返回值:指定的键被映射到的值,如果这个Map不包含键的映射,则为空。

  1. isEmpty(): java.util.HashMap.isEmpty()方法在Map不包含键值映射时返回true。

语法:

public boolean isEmpty()
Java

返回值: 如果该Map不包含键值映射,则为true。

  1. size(): java.util.HashMap.size()返回该Map中键值映射的数量。

语法:

public int size()
Java

返回值: the number of key-value mappings in this map.

实现说明上述方法

// Java program illustrating use of HashMap methods -
// put(), get(), isEmpty() and size()
import java.util.*;
public class NewClass
{
    public static void main(String args[])
    {
        // Creation of HashMap
        HashMap<String, String> Geeks = new HashMap<>();
  
        // Adding values to HashMap as ("keys", "values")
        Geeks.put("Language", "Java");
        Geeks.put("Platform", "Geeks For geeks");
        Geeks.put("Code", "HashMap");
        Geeks.put("Learn", "More");
  
        System.out.println("Testing .isEmpty() method");
  
        // Checks whether the HashMap is empty or not
        // Not empty so printing the values
        if (!Geeks.isEmpty())
        {
            System.out.println("HashMap Geeks is notempty");
  
            // Accessing the contents of HashMap through Keys
            System.out.println("GEEKS : " + Geeks.get("Language"));
            System.out.println("GEEKS : " + Geeks.get("Platform"));
            System.out.println("GEEKS : " + Geeks.get("Code"));
            System.out.println("GEEKS : " + Geeks.get("Learn"));
  
            // size() method prints the size of HashMap.
            System.out.println("Size Of HashMap : " + Geeks.size());
        }
    }
}
Java

输出

Testing .isEmpty() method
HashMap Geeks is notempty
GEEKS : Java
GEEKS : Geeks For geeks
GEEKS : HashMap
GEEKS : More
Size Of HashMap : 4
Java

HashMap和TreeMap之间有什么区别

  1. HashMap实现了Map接口,而TreeMap实现了SortedMap接口。分类Map接口是Map的一个子接口。
  2. HashMap实现了Hashing,而TreeMap实现了Red-Black Tree(一种自平衡二进制搜索树)。因此,Hashing和平衡二进制搜索树之间的所有区别都适用于此。
  3. HashMap和TreeMap都有其对应的HashSet和TreeSet。HashSet和TreeSet实现了Set接口。在HashSet和TreeSet中,我们只有键,没有值,这些主要用于查看集合中的存在/不存在。对于上述问题,我们不能使用HashSet(或TreeSet),因为我们不能存储计数。比起HashMap(或TreeMap),我们更喜欢HashSet(或TreeSet)的一个例子是打印一个数组中所有不同的元素。

Java中的HashMap和HashTable有什么区别

  • HashMap是非同步的。它不是线程安全的,如果没有适当的同步代码,就不能在许多线程之间共享,而Hashtable是同步的。它是线程安全的,可以与许多线程共享。
  • HashMap允许一个空键和多个空值,而Hashtable不允许任何空键或空值。
  • 如果不需要线程同步,HashMap通常比HashTable更受欢迎。
  • HashMap是Hashtable的一个高级版本和改进。HashMap是后来创建的。

HashMap和HashSet之间有什么区别

  • HashMap存储键值对(例如,学生的记录为值,卷号为键),而HashSet只存储键(例如,一个整数集合)。
  • HashSet内部使用HashMap来存储键值。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册