Java: как инициализировать карту со значениями в одной строке

Чтобы инициализировать карту Java значениями в одной строке, вы можете использовать инициализацию двойной скобки, API Stream Java 8 или методы Map.of()/Map.ofEntries(). Вот несколько методов, которые вы можете использовать:

  1. Инициализация двойной скобки:

    Map<String, Integer> map = new HashMap<String, Integer>() {{
    put("key1", value1);
    put("key2", value2);
    // Add more key-value pairs as needed
    }};
  2. API Java 8 Stream:

    Map<String, Integer> map = Stream.of(new Object[][] {
    {"key1", value1},
    {"key2", value2},
    // Add more key-value pairs as needed
    }).collect(Collectors.toMap(data -> (String) data[0], data -> (Integer) data[1]));
  3. Метод Map.of() (доступен начиная с Java 9):

    Map<String, Integer> map = Map.of(
    "key1", value1,
    "key2", value2
    // Add more key-value pairs as needed
    );
  4. Метод Map.ofEntries() (доступен начиная с Java 9):

    Map<String, Integer> map = Map.ofEntries(
    entry("key1", value1),
    entry("key2", value2)
    // Add more key-value pairs as needed
    );

Обратите внимание, что для методов 3 и 4 количество пар ключ-значение ограничено 10.