0

如何以一种简单快捷的方式从哈希图中获取两组值并将它们加载到两个单独的数组中?排序并不重要。

哈希图中的示例

 HashMap<Integer, String> testHash = new HashMap<Integer, String>();
 testHash.put(666, "skullCrusher");
 testHash.put(808, "octabon");
 testHash.put(69, "bloodyHymen");
 testHash.put(23, "chopSticks");
 testHash.pot(100, "prolapse");

ArrayList<Integer> array1 = new ArrayList<Integer>();

ArrayList<String> array2 = new ArrayList<String>();

生成的 ArrayLists 看起来像这样,并且项目可以按任何顺序排列

 array1 [666, 808, 69, 23, 100]

 array2 [skullCrusher, octabon, bloodyHymen, chopSticks, prolapse]
4

4 回答 4

4

要将地图的键添加到特定列表,请使用:

list.addAll(map.keySet());

对于价值观:

list.addAll(map.values());
于 2013-08-02T07:21:10.237 回答
1

你可以这样做 :

List<Integer> keys = new ArrayList<Integer>(testHash.keySet());
List<String>  values = new ArrayList<String>(testHash.values());

如果Lists 已经存在,则:

ArrayList<Integer> array1 = new ArrayList<Integer>();
ArrayList<String> array2 = new ArrayList<String>();
array1.addAll(testHash.keySet());
array2.addAll(testHash.values());
于 2013-08-02T07:21:21.000 回答
1

如果你特别想要数组:

List<Integer> keys = new ArrayList<Integer>(testHash.keySet());
List<String>  values = new ArrayList<String>(testHash.values());

然后:

Integer[] ar1 = keys.toArray(new Integer[keys.size()]);
String[] ar2 = values.toArray(new String[values.size()]);
于 2013-08-02T07:26:20.010 回答
1

愿这对您有所帮助:

ArrayList<Integer> array1 = new ArrayList<Integer>();
ArrayList<String> array2 = new ArrayList<String>();

array1.addAll(testHash.keySet());
array2.addAll(testHash.values());
于 2013-08-02T07:28:07.890 回答