package iterator
/*
*List(1,2,3,4,5)
*/
object iterator01 {
def main(args: Array[String]): Unit = {
val list1 = scala.collection.immutable.List(1,2,3,4,5)
// list1.foreach(ele => {
// println(ele)
//)}
//跳过list的前两个元素 而输出随后的两个元素
val it = list1.iterator
val it1 = it.drop(2).take(2)
//如果有下一个元素
while(it1.hasNext) {
//访问下一个元素
println(it1.next())//3 4
}
}
}
package iterator
object iterator02 {
/*
*迭代器 Iterator
* 专门用来遍历(挨个访问)集合元素
*1.获取 每个集合都有一个迭代器对象 用它遍历集合
* 2.迭代器.next() 获取当前元素 移动迭代器
*
*/
def main(args: Array[String]): Unit = {
val list1 = List(1,2,3,4,5)
//访问这五个元素
//1.获取迭代器
val it = list1.iterator
//输出当前元素
//val value = it.nexe()
//println(value)
//println(it.next())//1
//println(it.next())//2
//println(it.next())//3
//println(it.next())//4
// println(it.next())//5
if (it.hasNext){
println(it.next())
}
}
}
package iterator
object iterator03 {
/*
*迭代器 Iterator
* 专门用来遍历(挨个访问)集合元素
*1.获取 每个集合都有一个迭代器对象 用它遍历集合
* 2.迭代器.next() 获取当前元素 移动迭代器
*
* drop:跳过指定个数的元素drop(3)
* take:获取指定数量的元素
*
*/
def main(args: Array[String]): Unit = {
val list1 = List(1,2,3,4,5)
val it = list1.iterator
val it2 = it.take(3) // 从当前位置开始 只获取三个元素
while (it2.hasNext) {
println(it2.next())
}
// 2.移动迭代器
// 3.输出当前元素
}
}
package iterator
object iterator04 {
/*
*迭代器 Iterator
* 专门用来遍历(挨个访问)集合元素
*1.获取 每个集合都有一个迭代器对象 用它遍历集合
* 2.迭代器.next() 获取当前元素 移动迭代器
*
* drop:跳过指定个数的元素drop(3)
*
* take:获取指定数量的元素
*
* 迭代器是一次性的 next之后 不能再返回
* duplicate:复制迭代器
*
*/
def main(args: Array[String]): Unit = {
val list1 = List(1,2,3,4,5)
val it = list1.iterator
val (it1,it2) = it.duplicate
it1.next() //一次性
it1.next()
while (it1.hasNext) {
println(it1.next())
}
println("-------------------")
while (it2.hasNext) {
println(it2.next())
}
}
}
package iterator
object iterator05 {
/*
*迭代器 Iterator
* 专门用来遍历(挨个访问)集合元素
*1.获取 每个集合都有一个迭代器对象 用它遍历集合
* 2.迭代器.next() 获取当前元素 移动迭代器
*
* drop:跳过指定个数的元素drop(3)
*
* take:获取指定数量的元素
*
* 迭代器是一次性的 next之后 不能再返回
* duplicate:复制迭代器
*
*/
def main(args: Array[String]): Unit = {
val list1 = List(1,2,3,4,5)
val it = list1.iterator
val (it1,it2) = it.duplicate
it1.next() //一次性
it1.next()
println(it.next()) //3
// 把剩余的内容 装入一个新的List
val newList = it.toList
println(newList) //4 5
}
}
package iterator
object iterator06 {
/*
*迭代器 Iterator
* 专门用来遍历(挨个访问)集合元素
*1.获取 每个集合都有一个迭代器对象 用它遍历集合
* 2.迭代器.next() 获取当前元素 移动迭代器
*
* drop:跳过指定个数的元素drop(3)
*
* take:获取指定数量的元素
*
* 迭代器是一次性的 next之后 不能再返回
* duplicate:复制迭代器
*
* toList:将迭代器中剩余的元素转入一个新的list中
* zip:两个迭代器的元素按照顺序组合成一个新的迭代器 长度不一 会以短的为准
*/
def main(args: Array[String]): Unit = {
val it1 = List(1,2,3,4,5).iterator
val it2 = List("one","two","three","four","five").iterator
val it3 = it1.zip(it2)
while (it3.hasNext) {
val pair = it3.next()
println(pair._1,pair._2)
}
}
}