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)
तो शफ़ल सूचियों को ठीक से संभाल सकता है, लेकिन सेट नहीं करता है? सेट नहीं किया जा सकता है? res10 == res11 == res12 क्यों है?scala.util का उपयोग कर सेट बनाम सूची पर शफल का व्यवहार। यादृच्छिक
आपकी शिकायत यादृच्छिक व्यवहार के बजाय, बल्कि सेट के व्यवहार के बारे में नहीं है। सेट अनुबंध ऑर्डर के संरक्षण को इंगित नहीं करता है - आसानी से ऑप्टिमाइज़ेशन के लिए अनुमति देता है जैसे कि हैशटेबल के साथ सेट का बैक अप लेना - इस प्रकार कॉल करना टूसेट आपके संग्रह को फिर से ऑर्डर करने का निमंत्रण है। –