Scala - ClassTag недоступен при вызове List.toArray - PullRequest
0 голосов
/ 14 марта 2020

Используя scala 2.13, я написал почти идентичное решение как 2-й элемент по следующей ссылке, чтобы получить O(n) сложность

http://aperiodic.net/phil/scala/s-99/p25.scala

Однако , это не сработало, и это, вероятно, потому, что типы выводятся.

  def randomShuffle[A](ls: List[A]): List[A] = {
    val rand = new util.Random
    val listToArray = ls.toArray
    for (i <- listToArray.length-1 to 0 by -1) {
      val swapIndex = rand.nextInt(i + 1)
      val currentValAtIndex = listToArray(i)
      a.update(i, listToArray(swapIndex))
      a.update(swapIndex, currentValAtIndex)
    }
    listToArray .toList
  }

Так что будет правильным использованием List.toArray здесь? Вид застрял на этом ...

...