IntStream#map
потребляет IntUnaryOperator
, который представляет собой операцию над одиночным операнда со значением , который выдает результат со значением со значением , таким образом, результат IntStream
, однако IntStream
не имеет перегрузки collect
, которую вы пытаетесь использовать, что означает, что у вас есть несколько вариантов; то есть либо используйте IntStream#collect
:
IntStream.range(0, 9)
.collect(HashSet::new, (c, i) -> c.add(sudoku[i][column]), HashSet::addAll);
или используйте mapToObj
для преобразования из IntStream
в Stream<Integer>
, который можно затем назвать .collect(Collectors.toSet())
при
.
IntStream.range(0, 9)
.mapToObj(i -> this.sudoku[i][column])
.collect(Collectors.toSet());