Spark学习(六) 数据结构(迭代器、数组、元组)

Spark学习(六)数据结构(迭代器、数组、元组)

1、迭代器(Iterator)

1)在Scala中迭代器不是一种集合,但是它提供了访问集合的一种方法
2)迭代器包含两个基本操作:next和hasNext。next可以返回迭代器的下一个元素,hasNext用于检测是否还含有下一个元素

如下提供两种访问迭代器内元素的方法:
1)通过迭代器自带的方法访问
val ite=Iterator(“Hadoop”,“Spark”,“Scala”)
while(ite.hasNext){
println(ite.next())
}

2)通过for循环进行访问
val ite=Iterator(“Hadoop”,“Spark”,“Scala”)
for(elem<-ite){
println(elem)
}
Spark学习(六) 数据结构(迭代器、数组、元组)有前面的课程我们知道Iterable这个抽象类中定义了对容器进行访问的方法,所以可以使用grouped和sliding方法对迭代器进行访问。
注:在Scala中对方法的调用写法比较*,对于一下两种对方法的调用是等价的:
val git=xs grouped 3 和 val git=xs.grouped(3)

2、数组Array

Spark学习(六) 数据结构(迭代器、数组、元组)编程过程中定义一个数组一般使用下面的方法:Spark学习(六) 数据结构(迭代器、数组、元组)Spark学习(六) 数据结构(迭代器、数组、元组)定义可变长度的数组
Spark学习(六) 数据结构(迭代器、数组、元组)Spark学习(六) 数据结构(迭代器、数组、元组)注:insert()方法中第一个参数为插入元素的位置,后面其他的参数为想要插入的内容

3、元组

Spark学习(六) 数据结构(迭代器、数组、元组)注:Scala中列表的元素类型必须一致,元组可以为不同类型。在Python中列表和元组的元素类型都可以不一致。
Spark学习(六) 数据结构(迭代器、数组、元组)