TGViewer
Java Portal | Программирование Java Portal | Программирование @java_iibrary · 11.6K subscribers
Post #1862 2.2K
Если ты когда-нибудь писал что-то вроде этого в Java:

List<String> stringList = map.get(key);
if (stringList == null) {
stringList = new ArrayList<String>();
map.put(key, stringList);
}
stringList.add(newElement);


То то же самое можно записать в одну строку:

map.computeIfAbsent(key, k -> new ArrayList<String>()).add(newElement);


А ещё короче так:

map.computeIfAbsent(key, k -> new ArrayList<>()).add(newElement);


Компилятор Java сам поймёт, какой тип ArrayList нужно создать, исходя из типа Map
(в данном случае Map<String, List<String>>).

👉 Java Portal
  • 👍 21
  • ❤ 3
More from @java_iibrary
  1. Sep 28, 2026💡 Java: не создавайте ресурсоёмкие объекты, пока они действительно не понадобятся. ✅ Иниц…
  2. Sep 28, 2026Проблема в продакшене. Приложение зависло. Вы запускаете: jstack <pid> Через несколько сек…
  3. Sep 27, 2026Java-разработчики, CopyOnWriteArrayList создаёт копию всего внутреннего массива при каждом…
  4. Sep 27, 2026Java-разработчики, ConcurrentHashMap потокобезопасен. Но он не блокирует всю коллекцию при…
  5. Sep 26, 2026Во многих приложениях есть такой эндпоинт. Фронтенд удаляет JWT после того, как пользовате…
  6. Sep 26, 2026Java: используйте Deque вместо Stack для работы по принципу LIFO («последним пришёл — перв…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →