2011-01-13 5 views

Répondre

6

Actuellement, il n'y a rien pour les trier sur place.

Si vous avez vraiment besoin qu'il serait possible de convertir le IndexedSeq à un Array[AnyRef] et utiliser Arrays.sort de Java (vous devez jeter à Array[AnyRef], parce que les tableaux de Scala ne sont pas covariantes comme Java de). Il est intéressant de noter qu'il y a quelques semaines, il y avait une discussion sur l'ajout de versions in situ de l'opération comme la carte, le filtrage et le tri dans les collections mutables de Scala. J'espère que, après la sortie de la version 2.9 des collections parallèles, cela pourrait être le prochain élément de travail sur la liste pour améliorer la collection de Scala.

Il ne fait pas de mal si les gens élevaient leur voix à l'appui (ou fournissent une implémentation de travail) :-).

+2

Il y a aussi un tri sur place ' scala.util.Sorting', mais les contraintes restent les mêmes. –

+1

Par la présente, j'élève la voix et je demande une manipulation de Seq sur place. Et aussi une bonne interface utilisateur. – Raphael

+0

La discussion des mentions est ici: http://scala-programming-language.1934581.n4.nabble.com/In-place-mutable-operations-td3162695.html –

-1

Si vous voulez en place le tri, vous devez utiliser la version mutable

scala.collection.mutable.IndexedSeq

il a deux méthodes sortXXX pour vous d'utiliser:

http://www.scala-lang.org/api/current/scala/collection/mutable/IndexedSeq.html

+1

Je ne pense pas que ceux-ci font le tri, en tout cas ils ne semblent pas en regardant la source: https://lampsvn.epfl.ch/trac/scala/browser/scala/tags/R_2_8_1_final/ src // bibliothèque/scala/collection/mutable/IndexedSeq.scala # L1. Je commence à penser que c'est impossible et je vais devoir utiliser 'java.lang.Arrays.sort' – dsg

+0

hmm, c'est vrai –

+0

Je veux dire' java.util.Arrays.sort' – dsg