- 在Scala的集合体系中Iterable是共同的Trait,Iterable要求继承者实现一些共同的方法,例如对元素的便利等;
- Array是一个非常基础的数据结构,不从属于Scala集合的体系;
- Scala的集合体系中集合分为可变集合和不可变集合;不可变的集合在scala.collection.immutable包中,可变的集合在scala.collection.mutable;
- List是元素的列表集合,是不可变的;
4.1 List中head是指第一个元素,tail是指剩下的元素构成的List集合;
4.2 使用::这个操作符来把List和其他的元素进行组拼来构建新的List
4.3 如果集合中没有元素的话,此时为Nil,比如:List中只有一个元素,那么head就是这个元素本身,tail返回的就是Nil
val list = List(1,2,3,4,5)
println(list.head)
println(list.tail)
println(0::list)
var linkedList = mutable.LinkedList(1, 2, 3, 4, 5)
println(linkedList.elem)
println(linkedList.tail)
while(linkedList != Nil) {
println(linkedList.elem)
linkedList = linkedList.tail
}
println(linkedList)
val copied = linkedList. +:(9)
println(copied)
- Set是元素不可重复的集合,且元素是无序的;HashSet中的元素不可变,且不可重复,且不能够保证顺序;
val set = Set(1,2,3,4,5)
println(set)
val setMore = set + 1
println(setMore)
val linkHashSet = mutable.LinkedHashSet(1,2,50,4,5)
println(linkHashSet)
linkHashSet += 60
linkHashSet += 7
linkHashSet += 9
println(linkHashSet)
val sortedSet = mutable.SortedSet(1,2,50,4,5)
println(sortedSet)
println(List[String]("I am into Spark so much", "Scala is powerful").flatMap{x => x.split(" ")}.map{x => (x, 1)}.map{(x => x._2)}.reduce(_+_) )
println(List[String]("I am into Spark so much", "Scala is powerful").flatMap{x => x.split(" ")}.map{x => (x, 1)}.map(_._2).reduce(_+_) )
println(List[String]("I am into Spark so much", "Scala is powerful").flatMap{x => x.split(" ")}.map{x => (x, 1)}.map(_._2).reduce((x, y) => x+y) )
List(1,2,3,4,5,6).foreach{x => println(x)}
List(1,2,3,4,5,6).foreach{println(_)}
List(1,2,3,4,5,6).foreach{println _}
List(1,2,3,4,5,6).foreach{println }