Android 如何将HashMap存储在ArrayList中,然后存储到String[]

Android 如何将HashMap存储在ArrayList中,然后存储到String[],android,map,arraylist,Android,Map,Arraylist,这是我的物品 public ArrayList<HashMap<String,String>> c_tmp= new ArrayList<HashMap<String,String>>(); public HashMap<String,String>mapa=new HashMap<String, String>(); String[] name_Val = null; public ArrayList c_tmp=ne

这是我的物品

public ArrayList<HashMap<String,String>> c_tmp= new ArrayList<HashMap<String,String>>();
 public HashMap<String,String>mapa=new HashMap<String, String>();
String[] name_Val = null;
public ArrayList c_tmp=new ArrayList();
public hashmappa=new HashMap();
字符串[]name_Val=null;
有人能帮我如何在字符串[]中存储以下行名称吗

name_Val = (String[]) c_tmp.toArray(new String[c_tmp.size()]);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,name_Val);
name_Val=(String[])c_tmp.toArray(新字符串[c_tmp.size()]);
ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u下拉列表\u item\u 1line,name\u Val);
我得到这个例外
java.lang.ArrayStoreException:Ljava/util/HashMap类型的源[0];无法存储在[Ljava/lang/String;

类型的目标数组中,我建议您只需使用
HashMap
数据类型,因为map具有为
唯一键添加
值的属性


在将数据存储到
hashmap
中后,您可以使用
迭代器
hashmap
中迭代并获取所有键,因此将
从所有应存储在
数组列表
中的键中获取,然后将其转换为
字符串数组
将不是一个好方法问题。

我的建议是,您可以简单地使用
HashMap
数据类型,因为map具有为
唯一键添加
值的属性


在将数据存储到
hashmap
中后,您可以使用
迭代器
hashmap
中迭代并获取所有键,因此将
从所有应存储在
数组列表
中的键中获取,然后将其转换为
字符串数组
将不是一个好方法问题。

您正在尝试将一个映射(一组键/值对)展平为一个扁平的值列表。这里的键会发生什么情况?您的
c\u tmp
变量是一个
HashMap
的列表,这可能不是您想要的

如果只需要贴图中的值,并且要放弃关键点,请执行以下操作:

List<String> strings = yourHashMap.values()
List strings=yourHashMap.values()

然后,如果需要,您可以将
列表
转换为数组。

您正在尝试将一个映射(一组键/值对)展平为一个值的平面列表。这里的键会发生什么情况?您的
c_tmp
变量是一个
哈希映射
的列表,这可能不是您想要的

如果只需要贴图中的值,并且要放弃关键点,请执行以下操作:

List<String> strings = yourHashMap.values()
List strings=yourHashMap.values()

如果需要,您可以将
列表
转换为数组。

我可以将键添加到值中,但它要求执行类似于List strings=(List)hasmymap.values()的操作我认为您应该编辑您的问题,以包括一些示例数据以及您希望结果是什么样的,因为还不清楚您想要实现什么。我想写下姓名或号码并显示联系人。我可以将键添加到值中,但它要求执行类似于列表字符串=(List)hasmymap.values()的操作我认为你应该编辑你的问题,包括一些样本数据和你希望结果是什么样的,因为还不清楚你想达到什么目的。我想写下你的姓名或号码,并在下面显示一个联系人