我该如何划分HashMap

时间:2013-11-15 10:13:09

标签: java hashmap

以下是代码:

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 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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

您可以在两个结果上致电toArray()。添加一个新的Array作为参数以定义结果的类型。

String[] strings = keys.toArray(new String[arr.size()]);
Integer[] ints = values.toArray(new Integer[arr.size()]);

答案 3 :(得分: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