Supposons que j'ai un tableau de scala arr code> de
int code>. Considérons
arr.toset code>. Je sais que
Toset code> renvoie un objet code> objet code>. Est-ce
définir code> A
hashset code> ou
arbreset code> en défaut? P>
3 Réponses :
https: / /Github.com/scala/scala/blob/2.13.x/src/Library/scala/collection/immauttable/set.scala P>
jusqu'à 4 éléments vientystet code>,
set1 code>, ...,
set4 code> (comme des tuples), puis
hashset code >. p>
Le temps de compilé type em> de la valeur renvoyée par Cependant le temps d'exécution classe em> de l'objet renvoyé par Toset code> est
définir code>
Toset code> peut différer que nous pouvons vérifier à l'aide de SCALA RÉP P>
Array(1).toSet.getClass // class immutable.Set$Set1
Array(1, 2).toSet.getClass // class immutable.Set$Set2
Array(1, 2, 3).toSet.getClass // class immutable.Set$Set3
Array(1, 2, 3, 4).toSet.getClass // class immutable.Set$Set4
Array(1, 2, 3, 4, 5).toSet.getClass // class immutable.HashSet
Array(1, 2, 3, 4, 5, 6).toSet.getClass // class immutable.HashSet
...
Supposons que j'ai un tableau de scala
arr code> de
int code>. Considérons
arr.toset code>. Je sais que
Toset code> renvoie un objet code> objet code>. Est-ce
définir code> A
hashset code> ou
arbreset code> en défaut? P>
ni. C'est un
scala.collection.immauttable.set
. P>Voici La documentation de
scala.array.toset code>
(qui est en faitscala.collection.itéAblableOsops.toset code> ): p>
def toSet[B >: A]: Set[B]
Cela dépend de la taille: docs.cala-lang.org/overviews/collections/sets .html
Stackoverflow.com/Questtions/26901866/...
Pourquoi vous souciez-vous des détails de la mise en œuvre? Si vous avez besoin d'un type spécifique de jeu, vous pouvez
arr.to (Treeet) code> - BTW, vous êtes déroutant Types B> avec Classes b>.
@ Luismiguelmejíasuárez peut-être parce que différentes implémentations ont des performances différentes en ce qui concerne certaines opérations?
@DMytromitine Fair, c'est pourquoi j'ai dit que si vous voulez un type d'ensemble spécifique, demandez-lui explicitement.