Я хочу заполнить HashMap<Long, Long>
с помощью потока в Java.Однако, я не понимаю это правильно.Я надеюсь, что кто-то может помочь.
Я думал так:
HashMap<Long, Long> mapLongs = LongStream
.rangeClosed(1, 10)
.collect(Collectors.toMap(x -> x, x -> getSquare(x)));
, где getSquare
- простая функция, которая возвращает квадрат, например:
long getSquare(long x) {
return x * x;
}
Однако я получаю сообщение о том, что getSquare()
нельзя применить к объекту.Когда я пытаюсь привести x к объекту, я получаю сообщение об ошибке:
не существует экземпляра (ов) переменных типа A, K, T, U, так что Collector> соответствуетПоставщик
Итог: я застрял.
Также (очевидно) я пытаюсь сделать что-то более сложное, чем заполнение карты квадратными значениями ...