Как инициализировать карту с помощью лямбды?
Я хочу объявить полностью заполненное поле карты в одном операторе (который может содержать несколько вложенных операторов) следующим образом:
private static final Map<Integer,Boolean> map =
something-returning-an-unmodifiable-fully-populated-HashMap;
Анонимные инициализаторы не подойдут по той же причине, по которой вызов функции, которая возвращает новую заполненную карту, не подойдет: им требуются два оператора верхнего уровня: один для объявления переменной и один для метода или инициализатора.
Двойная фигурная скобка ({{
а также}}
) идиома будет работать, но она создает совершенно новый класс, который расширяетHashMap<>
и мне не нравятся накладные расходы, представленные этим.
Могут ли лямбды из Java 8 предложить лучший способ сделать это?