【问题标题】:Iterating hash map and getting values to string array迭代哈希映射并将值获取到字符串数组
【发布时间】:2016-07-06 03:48:01
【问题描述】:

谁能帮我迭代哈希映射,并将值存储到字符串数组? 我有一个哈希映射,其中包含两个键和每个键下的对应值。由于值集很大,我想从哈希映射中为每个键迭代值并存储到一个字符串数组中。请帮忙。

【问题讨论】:

  • 您希望所有值都在同一个字符串数组中吗?无论值来自哪个键?还有什么数据类型的值?它是一个数组吗?一份清单?
  • @Dom 我希望将同一键下的所有值放入一个数组中。我在 hashmap 的键下存储了一个键和几个值。键和值都是字符串

标签: android hashmap


【解决方案1】:

试试这个:

List<String> valuesList =new ArrayList<>();

for(String key:mHash.keySet()){
   valuesList.add(mHash.get(key));
}

到字符串数组:

String[] stockArr = new String[valuesList.size()];
stockArr = valuesList.toArray(stockArr);

【讨论】:

  • 我没看懂这段代码。如果我的哈希映射有一个键“国家”和键下的许多值,我将如何将这些值检索到字符串数组?你能告诉我吗?
【解决方案2】:

创建一个与哈希图大小相同的新字符串数组。 循环遍历您的哈希图并将每次迭代分配给数组中的一个元素。

String[] stringArray = new String[mHashMap.keySet().size()];
int i = 0;
for(String key: mHashMap.keySet()){
    stringArray[i] = mHashMap.get(key);
    i++;
}

我在上面展示的 for 循环,以及另一个也评论过的内容如下:

for(String key : mHashMap.keySet()){
 //do this
}

"for all keyStrings in myHashMap.keyStringSet(), do this"
eg. for each item in the hashmap, do whatever is in the brackets.

您的字符串数组已完成。

【讨论】:

  • 我仍然不清楚如何迭代我想要的值。我知道键。一个键下大约有 50 个值。我想要的只是将这些键下的所有值放入单独的数组中。你能帮忙吗?
  • hashmap 针对一个键存储一个值,不能有多个值与同一个键。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-20
  • 2012-08-05
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
相关资源
最近更新 更多