स्केल में Iterator
और Iterable
के बीच क्या अंतर है?Iterable और Iterator के बीच संबंध क्या है?
मैंने सोचा कि Iterable
एक सेट का प्रतिनिधित्व करता है जिसे मैं पुन: सक्रिय कर सकता हूं, और Iterator
पुनरावर्तक सेट में से किसी एक आइटम के लिए "पॉइंटर" है।
हालांकि, Iterator
में forEach
, map
, foldLeft
जैसे कार्य हैं। इसे के माध्यम से Iterable
में परिवर्तित किया जा सकता है। और, उदाहरण के लिए, scala.io.Source.getLines
Iterator
लौटाता है, Iterable
नहीं।
लेकिन मैं groupBy
Iterator
पर नहीं कर सकता और मैं इसे Iterable
पर कर सकता हूं।
तो, उन दो, Iterator
और Iterable
के बीच संबंध क्या है?
धन्यवाद, उदाहरण के साथ, यह सही समझ में आता है। –
ओडर्स्की और चम्मच ने स्कैला संग्रह कक्षाओं पर एक अच्छा प्राइमर लिखा: देखें http://www.scala-lang.org/docu/files/collections-api/collections.html –
मैंने इसका परीक्षण स्कैला 2.11.7 में किया है, इटेटरेटर समान रूप से व्यवहार करता है, अर्थात्, जब आप दूसरी बार 'ले लें (2)' का आह्वान करते हैं, तो आपको अभी भी 'सूची (1, 2) 'मिलती है। – qed