2016-06-10 4 views
0

Я попробовал этотКак распечатать HashMap <String, ArrayList <Integer>>?

ScreenDumpParser dump = new ScreenDumpParser(); 
    Map btn_bound = dump.parse(); 

    Iterator iterator = btn_bound.keySet().iterator(); 

    while (iterator.hasNext()) { 
     String key = iterator.next().toString(); 
     List<Integer> value = btn_bound.get(key); 

     System.out.println(key); 
    } 

, но эта линия

List<Integer> value = btn_bound.get(key); 

дает ошибку:

Type mismatch: cannot convert from Object to List<Integer> 

Мне нужно напечатать все значения вместе с ключом в одной строке.

ответ

0

Если вы хотите добавить значение в свой список, вы должны использовать:

value.add(btn_bound.get(key));

и если кнопка список или что-то еще нужно добавить более одного значения к списку с

value.addRange(btn_bound.get(key));

И если вы хотите, чтобы получить значение:

Object foo = value.get(btn_bound.get(key)); 
+0

Кастинг совершенно не нужен здесь. И этот 'List value = new List (btn_bound.get (key));' неверно (помните, что вопрос OPs находится на Java). – Tom

+0

Когда я написал ответ, тег языка отсутствовал, поэтому я написал для Java и C#, но я редактирую – SeeuD1

+0

Да, я знаю, что тег отсутствовал, поэтому не стоит беспокоиться :). Когда вы пишете что-то для двух языков, четко указывайте, какая часть принадлежит языку. 'Новый список <..> (...)' часть явно не для Java (например). – Tom

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