1 scala集合层级
Iterable
|
|--------------------|
Seq Set Map
| | |
IndexedSeq SortedSet SortedMap
Iterable集合生成的迭代器
var iter=集合对象.iterable
while(iter.hasNext){
iter.next
}
Seq:是值有先后次序的序列,如数组和列表
Set:是一组没有先后次序的值
Map:是一组键值对,key部分进行排序;
2 序列
不可变序列
Seq(IndexedSeq(Vector,Range),List,Stream,Stack,Queue)
3 列表
创建List对象
var mli=List(8,9)
var x=mli.head
var y=mli.tail
println(x+","+y+","+mli(1))//8,List(9),9
使用::(从右向左)操作符结合集合
var mli=8::List(6,8,3)// println(mli)//List(8, 6, 8, 3)
mli=1::2::3::4::Nil
println(mli)
遍历list元素
var mli=scala.collection.mutable.LinkedList(8,9,-1,8,-5)
var li=mli
while(li!=Nil){
//if(li.elem<0)li.elem=0
print(li.elem+" ")
li=li.next
}
println(li)
3 Set集合
Set集合是不重复元素
var li=Set(8,9,8,7)
li+=6
println(li)//Set(8, 9, 7)
var li=mutable.SortedSet(8,9,8,7)
li+=6
println(li)//TreeSet(6, 7, 8, 9)
集合操作
+=,++=,-=,--=
4 将函数映射到集合上
集合对象.map()