Я попытался преобразовать простое List<Integer>
в Map
, используя потоковый API Java 8, и получил следующую ошибку времени компиляции:
The method toMap(Function<? super T,? extends K>, Function<? super T,?
extends U>) in the type Collectors is not applicable for the arguments
(Function<Object,Object>, boolean)
Мой код:
ArrayList<Integer> m_list = new ArrayList<Integer>();
m_list.add(1);
m_list.add(2);
m_list.add(3);
m_list.add(4);
Map<Integer, Boolean> m_map = m_list.stream().collect(
Collectors.toMap(Function.identity(), true));
Я также попробовал второй метод ниже, но получил ту же ошибку.
Map<Integer, Boolean> m_map = m_list.stream().collect(
Collectors.toMap(Integer::intValue, true));
Как правильно сделать это, используя потоковый API Java 8?