여기서는 사용 가능한 로케일locale에 있는 각 언어를 포함하는 맵을 생성한다. 이 맵에서 키는 디폴트 로케일에서 언어 이름(예를 들면, "German"), 값은 지역화된 이름("Deutsch")이다.
Stream<Locale> locales = Stream.of(Locale.getAvailableLocales());
Map<String, String> languageNames = locales.collect(
Collectors.toMap(
l -> l.getDisplayLanguage(),
l -> l.getDisplayLanguage(l),
(existingValue, newValue) -> existingValue));
이 예제에서는 같은 언어가 두 번 나타날 수 있다는 점(예를 들면, 독일과 스위스의 독일어)은 고려하지 않고 그저 첫 번째 항목만 유지한다.