How to initialize map with default values ?

Sometimes, when we don't know the value for given entry, we can use a default value. In Java, it would be done at entry adding:

public String getLetter(String key) {
  String letter = letters.get(key);
  return letter == null ? DEFAULT_LETTER : letter;
}

Groovy does it at map definition time thanks to withDefault method:

    
@Test
void "should assign default value to map"() {
  Map<String, String> letters = [:].withDefault{key -> DEFAULT_LETTER}

  assertThat(letters['oOo']).isEqualTo(DEFAULT_LETTER)
}