Wie initialisiere ich eine Karte mit einem Lambda?

Ich möchte ein vollständig ausgefülltes Kartenfeld in einer einzigen Anweisung deklarieren (die mehrere verschachtelte Anweisungen enthalten kann):

private static final Map<Integer,Boolean> map = 
    something-returning-an-unmodifiable-fully-populated-HashMap;

Anonyme Initialisierer funktionieren nicht, aus demselben Grund wie das Aufrufen einer Funktion, die eine neue aufgefüllte Map zurückgibt: Sie erfordern zwei Anweisungen der obersten Ebene: eine für die Variablendeklaration und eine für die Methode oder den Initialisierer.

Die doppelte geschweifte Klammer {{ und}}) idiom wird funktionieren, aber es erzeugt eine ganz neue Klasse, die @ erweiteHashMap<>, und ich mag den Overhead nicht, der dadurch dargestellt wird.

Bieten die Lambdas von Java 8 vielleicht eine bessere Möglichkeit, dies zu erreichen?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage