package Scala4
//迭代器
object hd {def main(args: Array[String]): Unit = {var li1 = List(1, 2, 3, 4, 5, 6)//依次输出List的元素//1.循环//li1.foreach(println)//2.迭代器//2.1创建一个迭代器(iterator)// val it1=li1.iterator.take(3)//.take(3)只取到前三个数val it1 = li1.iterator.drop(3) //.drop(3)去掉前三个数//2.2访问每个元素while (it1.hasNext) {println(it1.next())val map1=Map("湘"->"湖南省","川"->"四川省")val it2=map1.iteratorwhile(it2.hasNext){println(it2.next())}}}
}
package Scala4object hds {def main(args: Array[String]): Unit = {
// val li1 = List(1, 2, 3,4,5,6)
// val it1 = li1.iterator//创建一个迭代器//1.常用方法 next// println(it1.next())//作用:获取当前元素+移动迭代器// println(it1.next())//作用:获取当前元素+移动迭代器// println(it1.next())//作用:获取当前元素+移动迭代器//// println(it1.hasNext)//2.复制迭代器 duplicate
// val (it2, it3) = it1.duplicate
//
// while (it2.hasNext) {
// println(it2.next())
// }
// while (it3.hasNext) {
// println(it3.next())
// }//3.toList把剩余的元素转成列表
// it1.next()//移动一次迭代器
// it1.next()//移动一次迭代器
// val l2=it1.toList//把剩余的元素转成列表
// println(l2)//4 子迭代器// drop 会跳过指定数量的元素,返回一个新的迭代器//take 只处理当前开始的,指定数量的元素,返回一个新的迭代器// val it2=it1.drop(3)
// val it3=it1.take(3)
// while (it3.hasNext){
// println(it3.next())
// }//只输出3,4,5要怎么做?
// val it5=it1.drop(2).take(3)
// while (it5.hasNext){
// println(it5.next())
// }//5.zip:拉链val it1=List("1","2","3").iteratorval it2=List("one","two","three","four").iteratorval it3=it1.zip(it2)while(it3.hasNext){val rs=it3.next()println(rs._1,"->",rs._2)}}
}