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> deint code>. Considéronsarr.toset code>. Je sais queToset code> renvoie un objet code> objet code>. Est-cedéfinir code> Ahashset code> ouarbreset 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.