以下是代码:
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()]);
答案 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