как хранить HashMap в ArrayList, затем в String [] - PullRequest
1 голос
/ 10 марта 2012

вот мои вещи

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;

Может кто-нибудь помочь мне, как сохранить в строке [] следующую строку name_Val

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);

Я получаю это исключение java.lang.ArrayStoreException: source [0] типа Ljava / util / HashMap; не может быть сохранен в массиве назначения типа [Ljava / lang / String;

Ответы [ 2 ]

1 голос
/ 10 марта 2012

Вы пытаетесь сгладить карту, представляющую собой набор пар ключ / значение, в единый список значений.Что должно случиться с ключами здесь?Ваша переменная c_tmp представляет собой список HashMap с, что, вероятно, не то, что вам нужно.

Если вам нужны только значения из карты и вы хотите сбросить ключи, сделайте следующее:

List<String> strings = yourHashMap.values()

Вы можете преобразовать List в массив, если пожелаете.

0 голосов
/ 10 марта 2012

Я хотел бы предложить, вы можете просто использовать тип данных HashMap<String,String>, поскольку у карты есть свойство добавления values для unique key

После того, как вы закончили с сохранением данных в hashmap, вы можете использовать Iterator для итерации и получить все ключи от HashMap и, следовательно, Values от всех тех ключей, которые должны храниться в ArrayList, а затем преобразование его в String Array не станет для вас проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...