Comportement de la lecture aléatoire dans Set vs List à l'aide de scala.util.Random
scala> Random.shuffle((1 to 10).toSet)
res10: scala.collection.immutable.Set[Int] = Set(5, 10, 1, 6, 9, 2, 7, 3, 8, 4)
scala> Random.shuffle((1 to 10).toSet)
res11: scala.collection.immutable.Set[Int] = Set(5, 10, 1, 6, 9, 2, 7, 3, 8, 4)
scala> Random.shuffle((1 to 10).toSet)
res12: scala.collection.immutable.Set[Int] = Set(5, 10, 1, 6, 9, 2, 7, 3, 8, 4)
scala> Random.shuffle((1 to 10).toList)
res13: List[Int] = List(3, 9, 8, 5, 7, 6, 10, 2, 1, 4)
scala> Random.shuffle((1 to 10).toList)
res14: List[Int] = List(5, 10, 2, 9, 4, 7, 8, 6, 1, 3)
scala> Random.shuffle((1 to 10).toList)
res15: List[Int] = List(5, 9, 10, 6, 8, 3, 4, 1, 7, 2)
De manière aléatoire peut gérer les Listes de la même amende, mais pas de jeux ?
Ne peut pas ensembles être mélangées ?
Pourquoi est-res10 == res11 == res12 ?
source d'informationauteur k r
Vous devez vous connecter pour publier un commentaire.
Scala de jeux ne sont pas commandés (comme les mathématiques). Ils sont itératif, cependant, vous ne pouvez pas compter sur le bon de commande que vous obtiendrez les articles. De nombreuses implémentations de jeux de répéter les mêmes éléments dans le même ordre—c'est à dire,
Ce qui explique l'effet que vous voyez ici. Vous ne devez jamais compter sur cela, mais il peut être un parfait valide
Set
mise en œuvre pour laquelle le ci-dessus ne serais pas.Aléatoire est "brassage" l'Ensemble; il n'a pas d'effet visible depuis les ensembles de ne pas avoir une ordonnance. Le REPL qui se passe pour imprimer le mélangées ensembles de la même façon à chaque fois: