📜  如何在Java中将包含键和值的两个数组转换为 HashMap?

📅  最后修改于: 2022-05-13 01:55:17.970000             🧑  作者: Mango

如何在Java中将包含键和值的两个数组转换为 HashMap?

HashMap 是Java的 Collections 框架的一部分。它以键值对的形式存储数据。 HashMap 的这些值可以通过使用它们各自的键来访问,或者可以使用它们的索引(整数类型)来访问键值对。 HashMap类似于Java中的 Hashtable。 HashTable 和 HashMap 的主要区别在于 Hashtable 是同步的,而 HashMap 不是。此外,一个 HashMap 可以有一个键和任意数量的值。 HashMap 中没有保留插入顺序。在 HashMap 中,可以使用HashMap.put()方法添加键和值。我们还可以将包含键和值的两个数组转换为具有各自键和值的 HashMap。

例子:

keys = {1,2,3,4,5}
values = {"Welcome","To","Geeks","For","Geeks"}
HashMap = {1=Welcome, 2=To, 3=Geeks, 4=For, 5=Geeks}

代码

Java
// Java program to convert two arrays containing keys and
// values into a HAshMap
  
import java.util.*;
import java.io.*;
  
class GFG {
  
    public static HashMap map(Integer[] keys,
                              String[] values)
    {
        // two variables to store the length of the two
        // given arrays
        int keysSize = keys.length;
        int valuesSize = values.length;
  
        // if the size of both arrays is not equal, throw an
        // IllegalArgumentsException
        if (keysSize != valuesSize) {
            throw new IllegalArgumentException(
                "The number of keys doesn't match the number of values.");
        }
  
        // if the length of the arrays is 0, then return an
        // empty HashMap
        if (keysSize == 0) {
            return new HashMap();
        }
  
        // create a new HashMap of the type of keys arrays
        // and values array
        HashMap map
            = new HashMap();
  
        // for every key, value
        for (int i = 0; i < keysSize; i++) {
  
            // add them into the HashMap by calling the
            // put() method on the key-value pair
            map.put(keys[i], values[i]);
        }
  
        // return the HashMap
        return map;
    }
  
    // Driver method
    public static void main(String[] args)
    {
        // create an array for keys
        Integer[] keys = { 1, 2, 3, 4, 5 };
  
        // create an array for value
        String[] values
            = { "Welcome", "To", "Geeks", "For", "Geeks" };
  
        // call the map() method over the keys[] array and
        // values[] array
        Map m = map(keys, values);
  
        // print the returned map
        System.out.println(m);
    }
}


输出
{1=Welcome, 2=To, 3=Geeks, 4=For, 5=Geeks}