java - 有没有办法实现LinkedHashMap的数组?

标签 java nullpointerexception linkedhashmap

我正在尝试实现一个 LinkedHashMap 数组,但我不知道是否可能......

目前我的代码如下所示:

public class LHMap {

    public static void main(String[] args) {

     LinkedHashMap<String, Integer>[] map = null;

  for (int i = 0; i < 5; i++) {
         map[i] = new LinkedHashMap<String, Integer>();
  }

  map[0].put("a", 0);
  System.out.println(map[0].get("a"));

 }
}


System.out.println(extracted(map)[0].get("a"));
返回“NullPointerException”...

你知道如何实现这个吗?

编辑:1.删除提取(),2.表->数组

最佳答案

我不知道您的 extracted() 方法想要做什么。您收到 NullPointerException 是因为您将 map 传递到 extracted 中,然后立即返回它。在您的示例中,您传入 null 然后返回它。您无法在空数组上找到第 ith 下标(或任何下标)。

使用 List 代替 LinkedHashMap 数组可以吗?

List<Map<String, Integer>> listOfMaps = new ArrayList<Map<String, Integer>>();

for(int i = 0; i < 5; i++) {
   listOfMaps.add(new LinkedHashMap<String, Integer>());
}

listOfMaps.get(0).put("a", 0);
System.out.println(listOfMaps.get(0).get("a"));

编辑

顺便说一下,你不能用泛型实例化数组。如果您想要类型安全,我建议您使用该列表。否则你就不得不凑合:

LinkedHashMap<String, Integer>[] map = new LinkedHashMap[5];

但是,这会给您警告。

关于java - 有没有办法实现LinkedHashMap的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4128923/

相关文章:

Java发送电子邮件 "Client Server"

java - ArrayList.add() 方法导致 NullPointerException

java - 多次使用AudioSystem.getAudioInputStream的nullPointerException

java - 什么是 NullPointerException,我该如何解决?

java - 用 Linkedhashmap VALUE 替换 ArrayList 项

java - 在 groovy 中将 LinkedHashMap 转换为 HashMap

java - 是否可以通过编程方式更改 PieRenderer?

java - 这是否使用 256 位 AES 加密?

java - JUnit 测试套件 - 仅包括特定测试,而不是类中的每个测试?

java - 如何将LinkedHashMap值存储到double类型数组中