java - 如何将 HashMap 转换为条目数组

标签 java arrays collections map toarray

<分区>

我有一张 map

private HashMap<Character, Integer> map;

我想将它转换为数组,但是当我这样做/我得到这个:

Entry<Character, Integer> t = map.entrySet().toArray();    
**Type mismatch: cannot convert from Object[] to Map.Entry<Character,Integer>**

Entry<Character, Integer>[] t = null;
map.entrySet().toArray(t); 
**Exception in thread "main" java.lang.NullPointerException**

Entry<Character, Integer>[] t = new Entry<Character, Integer>[1];
map.entrySet().toArray(t); 
   **Cannot create a generic array of Map.Entry<Character,Integer>**

Entry<Character, Integer>[] t = null;
t = map.entrySet().toArray(t); 
**Exception in thread "main" java.lang.NullPointerException**

那么如何转换HashMapArray ? 在其他主题中找到的答案均无效。

最佳答案

我认为这会起作用:

Entry<Character, Integer>[] t = (Entry<Character, Integer>[])
        (map.entrySet().toArray(new Map.Entry[map.size()]));    

...但是您需要一个@SuppressWarning 注释来抑制有关不安全类型转换的警告。

关于java - 如何将 HashMap 转换为条目数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16633711/

相关文章:

c - 为什么即使将数组名称与其索引交换也可以使用数组?

java - 在数字第一次出现时分割字符串的最有效方法?

java - 解析文件并按属性对行进行排序

java - 如何创建一个以数组中的数据为对象的列表集合?

java - Java 中两个 Map<Long, Integer> 之间是否至少存在差异的可读方式?

java - 在java中通过命令行输入一个文本文件

java - 从给定 URL 的 YouTube 视频中检索详细信息

时间:2019-03-17 标签:c++: Help correcting endless loop while modifying c-string array

Java Nailgun 无法启动简单的 swing 应用程序

java - 当代码位于 try 和 catch 语句中时,为什么会引发 StackOverflowError?