Сборка элементов в Map
Нужно собрать переданный стрим чисел в мапу, где ключ сам элемент, а значение это его квадрат.
Мой код:
public class CollectToMap {
public static Map<Integer, Integer> collect(Stream<Integer> data) {
Map<Integer, Integer> result = Set.of(data).stream().collect(Collectors.toMap(k -> k, v -> v));
return result;
}
}
Мой тест:
public class CollectToMapTest {
@Test
public void test() {
List<Integer> data = List.of(2, 3);
Map<Integer, Integer> expect = Map.of(
2, 4,
3, 9
);
Map<Integer, Integer> result = CollectToMap.collect(data.stream());
assertEquals(expect, result);
}
}
В чем моя ошибка?
Ответы (1 шт):
Автор решения: Danil Apsadikov
→ Ссылка
На сколько я понял, вы забыли v * v
public static Map<Integer, Integer> collect(Stream<Integer> data) {
return data.collect(Collectors.toMap(k -> k, v -> v * v));
}