11
votes

Puis-je limiter la taille d'un tableau dans Scala?

in java octet [] st = nouvel octet [4096] , implique que la taille du tableau st ne dépasse pas 4096 octets.

L'équivalent scala est ST: tableau [octet] = tableau () où la taille est inconnue. Si je lis un énorme fichier dans ce tableau, comment puis-je limiter la taille de la matrice?

Y aura-t-il un effet secondaire si je me soucie de la taille de l'opération ci-dessus?


0 commentaires

3 Réponses :


29
votes
var buffer = new Array[Byte](4 * 1024)
Works just fine, and it behaves as expected.

0 commentaires

9
votes

Votre exemple Java ne produit pas de matrice avec une limite supérieure de sa taille, elle produit une matrice avec précision la taille indiquée, qui est fixée tout au long de sa vie. Les matrices Scala sont identiques à cet égard. De plus, ceci: xxx

attribue une matrice d'octet ("octet" en Java) de longueur 0.

jusqu'à lire un fichier dans un tableau, si vous Doit traiter l'intégralité du fichier, puis essayer d'allouer l'espace requis et s'il échoue, vous ne pouvez pas continuer.


0 commentaires

0
votes

Si vous êtes en retard à la partie:

val buffer = new Array.ofDim[Byte](4 * 1024)


0 commentaires