-3

这是代码:

HashMap<String, Integer> arr = new HashMap<String, Integer>(); 
arr.put("one", 1); 
arr.put("two", 2); 
arr.put("three", 3); 

如何将所有字符串作为 String[] 数组,将所有整数作为 Int[] 数组?


谢谢大家!一切都是正确的,如果有人有同样的问题,答案是:

String[] entry =(String[])arr.keySet().toArray(new String[arr.size()]);
Integer[] entry_values =(Integer[])arr.values().toArray(new Integer[arr.size()]);
4

4 回答 4

2

1)arr.keySet().toArray(new String[arr.size()]);

2)arr.values().toArray(new Integer[arr.size()]);

于 2013-11-15T10:15:43.700 回答
1

您可以使用keySet()andvalues()方法单独获取字符串和整数。它们都返回集合,因此您可以调用toArray它们。

于 2013-11-15T10:15:40.910 回答
1

没有方法可以通过它们的类型来获取您的项目,而是通过它们在地图中的功能。

HashMap<String, Integer> arr = new HashMap<String, Integer>();     
Set<String> keys = arr.keySet(); // all keys.
Collection<Integer> values = arr.values(); //all values.

你可以调用你toArray()的两个结果。添加一个新数组作为参数来定义结果的类型。

String[] strings = keys.toArray(new String[arr.size()]);
Integer[] ints = values.toArray(new Integer[arr.size()]);
于 2013-11-15T10:16:06.400 回答
0

试试这个:

String strArr[] = new String[arr.size()];
arr.keySet().toArray(strArr); // Populate the String array with map keys

Integer intArr[] = new Integer[arr.size()];
arr.values().toArray(intArr); // Populate the Int array with map values
于 2013-11-15T10:20:14.577 回答