package com.spark.scala.basics import scala.collection.immutable.SortedMap import scala.collection.immutable.HashMap import scala.collection.mutable /** * 1.默认情况下,Map构建的是不可变的集合,里面的内容是不可修改的,原有的Map的内容保持不变 * 2.map的实例是调用工厂方法模式apply()来构造Map实例 * 3.若想直接new出Map实例,则需要使用HashMap等具体的Map子类 * 4.查询一个Map中的值,一个是采用getOrElse的语法的,一方面是在key不存的情况下不报告异常,另一方面是提供默认值,提供默认值是很重要的! * 5.使用SortedMap可以得到排序的Map集合 * 6.LinkedHashMap可以记住插入的数据顺序 * * 7.Tuple中可以有很多不同类型的数据,例如("Hadoop", "Apache", 20),脚标从_1开始的! */ object HelloMapTuple { def main(args:Array[String]): Unit = { val bigDatas = Map("Spark"->10, "Hadoop"->10) //调用工厂方法模式apply()来构造Map实例,注意Map是接口 val persons = Map(("Hello", 1), ("World", 2)) val programingLanguage = scala.collection.mutable.Map("Scala" -> 14, "Java" -> 23) programingLanguage("Scala") = 15 for ((name, age) <- programingLanguage) println(name + " " + age) println(programingLanguage.getOrElse("Python", "C++")) //获的值 var persionInformation2 = new mutable.LinkedHashMap[String, Int] //new 对象LinkedHashMap var persionInformation = new HashMap[String, Int] //new 对象 persionInformation += ("Scala" -> 14, "Java" -> 23) //增加元素 persionInformation -= ("Scala") //去除元素 for ((name, age) <- persionInformation) println(name + " " + age) for(key <- persionInformation.keySet) println(key) for(value <- persionInformation.values) println(value) val result = for ((name, age) <- persionInformation) yield(age, name) for((age, name) <- result) println(age + " : " + name) //排序的Map val testSortedMap = SortedMap(("World", 1), ("Hello", 2)) for((age, name) <- testSortedMap) println(age + " : " + name) // **************************Tuple****************************** val information = ("Hadoop", "Apache", 20) //脚标从_1开始! println(information._3) } }
Scala基础—Map和Tuple操作示例
最新推荐文章于 2023-06-12 22:56:22 发布