Scala基础之集合

seq,set,map特点

1.Seq,是一组有序的元素。
2.Set,是一组没有重复元素的集合。
3.Map,是一组k-v对。

Array

    array(不可变,可变);数据有序,可以放重复,不限制类型
        |
Array, ArrayBuffer

Array
ArrayBuffer
定义空:val array:ArrayBuffer[Any] = ArrayBuffer()

List

      List(不可变,可变);数据有序,可以放重复,不限制类型
        |
List, ListBuffer
List
ListBuffer
定义空:val lb:ListBuffer[Any] = ListBuffer()

Set

      Set(不可变,可变);无序,不可重复,不限制类型
        |
Set, mutable.Set
Set
mutable.Set
定义空:val muset:mutable.Set[Any] = mutable.Set()

Map

      Map(不可变,可变);无序,K不能重复的K-V键值对集合
        |
Map, mutable.Map
源码 JDK1.8 之前  Entry
        JDK1.8 之后  Node => TreeNode

mutable.Map定义空map
	val map2:mutable.Map[String,Int] = mutable.Map()
mutable.Map查找key,value;Option : 选项,对象只有2个 Some, None
	val maybeInt:Option[String] = map2.get("e")
maybeInt可以通过get获取到value
	maybeInt.get

Tuple

       Tuple(不可变);最多存放元素的数量为22个;类型没有约束;通过顺序号进行访问;组,可以默认排序,先比较第一个,如果相同,比较第二个,依此类推

元组的定义
	val t : (Int, String, Int) = (1, "zhangsan", 30)
访问方式:
	通过._数字方式访问
Map嵌套元组
        	val map = Map(("a", 1), ("b", 2), ("c", 3))
	可以foreach(t=>t._1 + "=" + t._2)来取key,value

Queue

        Queue(不可变,可变)
             |
immutable.Queue,mutable.Queue

mutable.Queue
定义空
	val queue:mutable.Queue[String] = mutable.Queue()
添加&获取后队列中踢除
enqueue,dequeue

 

 

上一篇:网站用户行为分析项目之会话切割(五)=> 切割会话代码重构


下一篇:fetch请求文件流并下载(Excel)