📜  如何在Java中将 LinkedHashMap 转换为两个数组?(1)

📅  最后修改于: 2023-12-03 14:52:45.493000             🧑  作者: Mango

如何在Java中将 LinkedHashMap 转换为两个数组?

在Java中,如果你有一个 LinkedHashMap 对象,并且想将其转换为两个数组,可以按照以下步骤进行操作。

步骤一:导入必要的类

首先我们需要导入 LinkedHashMap 和其他必要的类。

import java.util.LinkedHashMap;
import java.util.Map;
步骤二:创建 LinkedHashMap 对象并添加元素

创建一个 LinkedHashMap 对象,并使用 put() 方法向其添加一些键值对。

LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>();
linkedHashMap.put("apple", 1);
linkedHashMap.put("banana", 2);
linkedHashMap.put("cherry", 3);
步骤三:将键和值分别放入两个数组

我们可以使用 LinkedHashMap 的 entrySet() 方法获取键值对集合,并使用 toArray() 方法将其转换为数组。

// 获取键值对集合
Set<Map.Entry<String, Integer>> entrySet = linkedHashMap.entrySet();

// 创建两个数组用于存储键和值
String[] keys = new String[linkedHashMap.size()];
Integer[] values = new Integer[linkedHashMap.size()];

int i = 0;
// 将键和值分别放入数组
for (Map.Entry<String, Integer> entry : entrySet) {
    keys[i] = entry.getKey();
    values[i] = entry.getValue();
    i++;
}
步骤四:打印结果

我们可以使用 Arrays 类的 toString() 方法打印数组结果。

System.out.println("Keys: " + Arrays.toString(keys));
System.out.println("Values: " + Arrays.toString(values));

完整代码如下:

import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;

public class LinkedHashMapToArrayExample {
    public static void main(String[] args) {
        // 创建 LinkedHashMap 对象并添加元素
        LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>();
        linkedHashMap.put("apple", 1);
        linkedHashMap.put("banana", 2);
        linkedHashMap.put("cherry", 3);

        // 将键和值分别放入数组
        Set<Map.Entry<String, Integer>> entrySet = linkedHashMap.entrySet();
        String[] keys = new String[linkedHashMap.size()];
        Integer[] values = new Integer[linkedHashMap.size()];

        int i = 0;
        for (Map.Entry<String, Integer> entry : entrySet) {
            keys[i] = entry.getKey();
            values[i] = entry.getValue();
            i++;
        }

        // 打印结果
        System.out.println("Keys: " + Arrays.toString(keys));
        System.out.println("Values: " + Arrays.toString(values));
    }
}

以上代码将 LinkedHashMap 对象转换为两个数组,并打印了结果。

希望本教程对你有帮助!