核心
1、scala的集合操作
package com.xlucas
import scala.collection.mutable
/**
* Created by xlucas on 2017/8/17 0017.
* 1、默认情况下Map构造的是不可变的集合,里面的内容不可修改,一旦修改就变成新的Map,原有的Map内容保存不变
* 2、Map的实例是调用工厂方法模式apply来构建Map实例,而需要主要的是Map是接口,在apply中使用了具体的实现
* 3、如果想直接new出map实例,则需要使用HashMap等具体的Map子类
* 4、查询衣蛾Map中的值一定要采用getOrElse的语法,一方面是key不存在的情况下不报告异常,另一个方面就是提供默认值
* 5、使用SortedMap可以得到排序的Map集合
* 6、LinkedHashMap可以记住插入的数据的顺序,
* 7、Tuple中可以有不同的数据类型,例如 ("xlucas","spark","hadoop",27)
*/
object CollectionOop {
def main(args: Array[String]): Unit = {
val bigdata=Map("spark"->6,"hadoop"->20,"python"->10,"java"->28)//定义一个map集合
val sortbigdata=scala.collection.immutable.SortedMap("spark"->6,"hadoop"->20,"python"->10,"java"->28)
//集合进行排序
val changeMap=scala.collection.mutable.Map("spark"->6,"hadoop"->20,"python"->10,"java"->28)
//定义一个可修改集合
changeMap("java") = 30
for((key,value)<-changeMap)
println(key+ " " + value)
val hash =new scala.collection.mutable.HashMap[String,Int]() //定义一个HashMap
hash +=("java"->27,"scala"->10) //增加元素
hash -=("java")//删除元素
for((key,value)<-hash)
println(key+ " " + value)
println(hash.getOrElse("python","python is not in "))//判断key在不在
for (key<-hash.keySet) println(key)//只取key
for (value<-hash.values) println(value)//只取value
val tuple=("xlucas","spark","hadoop",27)//定义一个tuple
println(tuple._1)//打印tuple中的第一个元素的值
}
}