如何将hashmap转换为条目数组

Yod*_*oda 5 java arrays collections map toarray

我有一张地图

private HashMap<Character, Integer> map;

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

Entry<Character, Integer> t = map.entrySet().toArray();    
**Type mismatch: cannot convert from Object[] to Map.Entry<Character,Integer>**
Run Code Online (Sandbox Code Playgroud)
Entry<Character, Integer>[] t = null;
map.entrySet().toArray(t); 
**Exception in thread "main" java.lang.NullPointerException**
Run Code Online (Sandbox Code Playgroud)
Entry<Character, Integer>[] t = new Entry<Character, Integer>[1];
map.entrySet().toArray(t); 
   **Cannot create a generic array of Map.Entry<Character,Integer>**
Run Code Online (Sandbox Code Playgroud)
Entry<Character, Integer>[] t = null;
t = map.entrySet().toArray(t); 
**Exception in thread "main" java.lang.NullPointerException**
Run Code Online (Sandbox Code Playgroud)

那么如何转换HashMapArray在其他科目中找不到任何答案.

Ste*_*n C 11

我认为这会奏效:

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

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