Spark基础-Scala集合操作

核心 
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中的第一个元素的值
  }
}

猜你喜欢

转载自blog.csdn.net/kwame211/article/details/80881814