2014-10-29 3 views
-1

Я хочу добавить объект Arraylist<String> (inputArrListObj) в уже существующий Map<String, String> (param), который имеет некоторые входные значения для отправки.Вставить объект arraylist в String hashmap

Map<String,String> param = new HashMap<String, String>(); 
List<String> obj = inputArrListObj; 
param.put("1","Value"); 
//param.put("2",<Input list values>); 

Какой должен быть идеальный подход к тому же?

+0

'Карта , Список > пары = новый HashMap <>();'? – Maroun

+0

Ваш список содержит несколько строк. Ваша карта имеет одно значение String. Вы хотите добавить строки списка как одно значение на своей карте или как несколько значений (каждый со своим собственным ключом)? – Eran

+0

Вы хотите добавить объект ArrayList к HashMap? Или хотите добавить каждую строку в ArrayList в HashMap? – juh

ответ

-2

Похоже, что вы хотите хранить в своих аннотациях именованные значения. Если это так, попробуйте использовать Map<String, Object> и бросить в определенный класс, когда вы получите значения с карты.

Map<String, Object> param = new HashMap<String, Object>(); 
List<String> obj = inputArrListObj; 
param.put("1", "Value"); 
param.put("2", obj); 
... 
List<String> param2 = (List<String>) param.get("2"); 
+0

О, боже, пожалуйста, нет. Не выбрасывайте безопасность. – Tom

1

Это невозможно с вашей текущей декларацией.

Вы должны рассмотреть вопрос об изменении вашего заявления на карту

Map<String,List<String>> param = new HashMap<String, List<String>>(); 

Это позволяет вставить список в качестве значения.

Однако для первого случая (param.put("1","Value");) ваш список будет содержать только одну строку.

Смежные вопросы