Spark基础-Scala集合操作

来源:互联网 发布:淘宝耐克正品店铺 贴吧 编辑:程序博客网 时间:2024/05/21 11:31

核心
1、scala的集合操作

package com.xlucasimport 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中的第一个元素的值  }}
原创粉丝点击