Scala-LIST/Tuple/Map

环境: CentOS 6.3

LIST(列表)

代码:

$ cat list.scala
var mylist = List(1,2,3)
println(mylist)
var mylist1 = 0::mylist
println(mylist1)
var mylist2 = mylist::mylist1
println(mylist2)
var mylist3 = mylist:::mylist1
println(mylist3)

结果:

$ scala list.scala
List(1, 2, 3)
List(0, 1, 2, 3)
List(List(1, 2, 3), 0, 1, 2, 3)
List(1, 2, 3, 0, 1, 2, 3)

解析:

var mylist1 = 0::mylist,scala 中:: 是后面对象的方法。意思就是:: 是mylist的方法

这句话就是把0 增加到mylist 中并置为第一位。类似于java中的list.add(0),方法和对象顺序反转了。

var mylist3 = mylist:::mylist1, 把两个LIST 合并成一个新的LIST mylist3。

TUPLE(元组)

代码:

$ cat tuple.scala
var pair=(99,"my","love",123)
 println(pair._1)
 println(pair._2)
 println(pair._3)
 println(pair._4)

结果:

$ scala tuple.scala
99
my
love
123
Map 映射

代码:

$ cat map.scala
var myMap = Map[Int,String]()
myMap +=  (1 -> "I am")
myMap += (2 -> "Ziliang")
println(myMap(1))
myMap.foreach(println)

val myMap1 = Map( 1 -> "I am" , 2 -> "ziliang", 3 -> "ok")
myMap1.foreach(println)

结果:

$ scala map.scala
I am
(1,I am)
(2,Ziliang)
(1,I am)
(2,ziliang)
(3,ok)
总结:

LIST里面的成员类型必须一样。而Tuple 里面类型能够不一样。

时间: 2024-10-12 17:22:15

Scala-LIST/Tuple/Map的相关文章

Scala编程入门---Map与Tuple

创建Map //创建一个不可变的Map val ages = Map("Leo" -> 30,"Jen" ->25,"Jack" ->23) ages("Leo") =31 //创建一个可变的Map val ages =scala.collection.mutable.Map("Leo" ->30,"Jen" ->25,"Jack" -&

Scala系列:Map和Tuple

Map 构造Map 不可变: val map = Map("sa" -> 1, "s" -> 2)map("sa") = 3 // error val emptyMap = new scala.collection.immutable.HashMap[String, Int] 可变: val map2 = scala.collection.mutable.Map("sa" -> 2)map2("sa

Scala中的Map和Set

Map和Set中常用的一些方法. var jetset = Set("one","two") jetset += "three" println(jetset.contains("four")) println(jetset.contains("three")) jetset.foreach(arg => println(arg)) print(jetset.size) import scala.co

scala drools and map

需求,安全检查,例如Linux系统,用户安全检查,配置项检查等,这些检查的规则在Drools里面去实现,数据传送过来即可, 问题:如何定义数据结构,不同的检查项会有不同的数据结构,如何规范呢? 思路: 使用map嵌套的思路,检查的数据输出过来是json的格式发送到kafka,然后spark streaming程序直接读取json,然后转为map进行处理. 遇到的问题,一开始代码是使用scala.util.parsing.json.JSON.parseFull(string),这样返回的可能是ma

scala中的map函数与for中的yield

首先我们从scala的函数开始: 在命令后输入:(x:Int) => x * 2 这种奇怪的格式让我们陌生,但是如果你熟悉javascript的函数如下: function myfunc(param){ alert("hello" + param); } 这是一个弹出窗口hello的函数,显示的是hellp+输入参数,这个param不只是可以传入值,也可以传入另外一个函数,为了能够传入另外一个函数作为参数,被传入的函数在写法上要改变一下,比如: var myfunc2 = fun

Scala learning(2): map, flatMap, filter与For表达式

本文叙述Collections里最常见的三种操作map, flatMap, filter,与For表达式的关系. List对三种方法的实现 map在List的实现: abstract class List[+T] { def map[U](f: T => U): List[U] = this match { case x :: xs => f(x) :: xs.map(f) case Nil => Nil } } flatMap在List的实现: abstract class List[

scala基础(1) -- map

creates Map val weights = Map("cat" -> 10, "elephant" -> 200000) val weight = weights("elephant") println(weight) val colors = Map(("bird", "blue"), ("fox", "red")) val result1 =

Scala之Map,Tuple

/** * 1,默认情况下Map构造的是不可变的集合,里面的内容不可修改,一旦修改就变成新的Map,原有的Map内容保持不变: * 2,Map的实例是调用工厂方法模式apply来构造Map实例,而需要主要的是Map是接口,在apply中使用了具体的实现: * 3,如果想直接new出Map实例,则需要使用HashMap等具体的Map子类: * 4,查询一个Map中的的值一定是采用getOrElse的语法的,一方面是在key不存的情况下不报告异常,另外还有一个神奇的作用就是提供默认值 * 而关于默认

Scala学习之Tuple、Map、Array

1.Tuple Tuple的中文意思是元组,它的定义是不需要方法. 例如:val tup=(25,”Tuple”,”Map”,”Array”). 值得注意的是,Tuple在进行索引的时候,与我们平时所见到的数组是有很多不同点的,它的索引方式是通过:下划线和一个基于1的元素索引.(这里特别强调基数,因为在Java.C++中,我们定义数组的时候,都是基于0开始的) object TupleOps {   def main(args:Array[String]): Unit={     val tup