На просторах интернета наткнулся на метод Collectors toMap(). С помощью стримов можно инициализировать мапу. Нашел такой пример: есть лист List<Animal> list заполненный объектами Animal.
Map<Integer, Animal> map = list.stream()
      .collect(Collectors.toMap(Animal::getId, animal -> animal));
Тут все понял, создается стрим для списка, для каждого элемента списка находится id и ложится в мапу как ключ, так же к этому ключу ложится соответствующий элемент. Вопрос: я хочу из своего листа с Integer элементами положить в мапу все элементы как ключи, как значения просто 1. Сделать я это хочу с помощью стримов.
List<Integer> list = Arrays.asList(5, 3, 7, 11, 456, 1, 2, -6);
Map<Integer, Integer> map = list.stream().collect(Collectors.toMap(i -> i, 1));
Что я делаю: создаю стрим для списка с числовыми значениями, в мапу как ключ ложу каждый элемент, как значение просто 1. Код не работает, объясните пожалуйста, как реализовать правильно?