2013-03-19 5 views
0

если я карта создана так:Получение списка внутри списка?

Map<Fruit, Map<Double, ArrayList<Fruit>>> total = new HashMap<Fruit, Map<Double, ArrayList<Fruit>>>(); 

я могу получить доступ к внешнему слою, выполнив:

for (Entry<Fruit, Map<Double, ArrayList<Fruit>>> entry : total.entrySet()) { 
} 

но как я ухватить Map<Double, ArrayList<Fruit>> (внутренней карты)? .... не может показаться, чтобы понять это.

я думал, что я мог бы сделать что-то вроде этого:

for (Entry<Fruit, Map<Double, ArrayList<Fruit>>> entry : total.entrySet()) { 
    for (Map<Double, ArrayList<Fruit>> entry2 : entry.getValue()) { 

    } 
} 

не может использовать entry.getValue() здесь ... но это значение, которое содержит распашные, ArrayList

но нет удачи еще ... какие-нибудь идеи?

+0

Определить «не повезло»: что на самом деле происходит? –

+0

Как насчет list.get (i) .get (i) и так далее? – Rasmus

+0

Может только перебирать массив или экземпляр java.lang.Iterable – BigBug

ответ

4

Просто применять тот же вы сделали для внешней карты, и получить EntrySet.

for (Entry<Fruit, Map<Double, ArrayList<Fruit>>> entry : total.entrySet()) { 
    for (Entry<Double, ArrayList<Fruit>> entry2 : entry.getValue().entrySet()) { 

    } 
} 
0

Попробуйте

for (Map<Double, ArrayList<Fruit> map : total.values()) { 

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