2015-09-03 2 views
0

Учитывая это HashMap:JavaFX 8 итерация хэш-карта

HashMap<TitledPane, Boolean> paneMap = new HashMap<>(); 

Я пытаюсь установить все значения в карте ЛОЖЬ (значения устанавливаются выборочно в заявке после «очистки» карту), но не что я пытался, я не могу получить соответствующий итератор, который позволит мне установить каждое логическое значение. Может кто-нибудь помочь, пожалуйста?

ответ

0

Просто поговорил с кем-то по телефону, и есть очень простой ответ, который я просто не видел в конце, потому что я пытался сделать его слишком сложным (я не понял, что «put» заменяет любые существующие значения .

for (TitledPane p : paneMap.keySet()){ 
     paneMap.put(p, Boolean.FALSE); 
    } 
+1

Аналогичное решение Java 8 будет 'paneMap.keySet() поток() Foreach (р -> paneMap.put (р, ложь)); ' – ItachiUchiha

+0

@ItachiUchiha вам не нужен поток(). Просто' paneMap.keySet(). ForEach (key -> paneMap.put (key, false)); ' – Kachna

+1

или изменить значение каждой записи: 'paneMap.entrySet(). ForEach (entry -> entry.setValue (false))' – kleopatra

0

Вы можете использовать лямбда:..

paneMap.replaceAll((k, v) -> Boolean.FALSE);