Kotlin и parallelStream toArray

Я думаю, что меня отвлекает. Я пытаюсь использовать Java parallelStream по соображениям производительности.

Функция Specimen.pick () выполняет выборку и возвращает экземпляр образца . Я хочу, чтобы Parallize это с parallelStream при замене пула .

var pool: Array<Specimen> = Array(100_000) .. 

Это то, что я пытаюсь написать в Котлине:

 pool = pool.asList().parallelStream().map { Specimen.pick(pool, wheel, r.split()) }.toArray(Specimen::new) 

Какие ошибки на :: new

Вместо этого я должен жонглировать между списком и массивом:

 pool = pool.asList().parallelStream().map { Specimen.pick(pool, wheel, r.split()) }.collect(Collectors.toList()).toTypedArray() 

Это работает, но кажется ресурсом расточительным, а не прямым доступом к Array. Если я позволю IntelliJ попробовать Kotlinize пример Java из этого:

Ява:

 Person[] men = people.stream() .filter(p -> p.getGender() == MALE) .toArray(Person[]::new); 

Преобразование IntelliJ:

 val men = people.stream() .filter({ p -> p.getGender() === MALE }) .toArray(Person[]::new /* Currently unsupported in Kotlin */) 

Так может быть, это для Котлина? Или есть другой лучший способ?

Solutions Collecting From Web of "Kotlin и parallelStream toArray"