9
votes

Copie profonde de la matrice 2D à Scala?

Comment puis-je effectuer une copie profonde d'un tableau 2D dans Scala?

Par exemple P>

val a = Array[Array[Int]](2,3)
a(1,0) = 12


2 commentaires

La discussion sur un sujet similaire peut être trouvée à: << a href = "http://stackoverflow.com/questions/1267436/what-is-the-asie-way-a-deeply-clone-copy-mutable- Scala-Object "Titre =" Quel est le moyen le plus simple de cloner profondément copier un objet scala mutable "> Stackoverflow.com/questions/1267436/... >


Ce n'est pas un code valide dans votre exemple. Pouvez-vous reformater?


3 Réponses :


0
votes

donné:

for(inner <- a) yield {
  for (elem <- inner) yield {
    elem
  }
}


1 commentaires

Les tableaux à Scala sont des matrices Java et donc mutable.



10
votes

Vous pouvez utiliser la méthode code> clone code> de la classe code> de la classe. Pour un tableau code> multidimensionnel code>, utilisez mapper code> sur les dimensions supplémentaires. Pour votre exemple, vous obtenez

val b = a.map(_.clone)


0 commentaires

2
votes

TRANSPOSATEZ-LE deux fois

a.transpose.transpose


0 commentaires