scala编程笔记(2)List-Tuple-set-map

使用类型参数化数组

先来段代码:

  //val greeting:Array[String] = new Array[String](3) 
  val greeting = new Array[String](3)
  greeting(0) = "hello"
  greeting(1) = ","
  greeting.update(2,"World")

 for(i <- 0 to 2){
 println("i="+ i +" greeting.apply(i) is:"+ greeting.apply(i))
 println("i="+ i +" greeting(i) is:"+ greeting(i))
 }

输出结果:

i=0 greeting.apply(i) is:hello
i=0 greeting(i) is:hello
i=1 greeting.apply(i) is:,
i=1 greeting(i) is:,
i=2 greeting.apply(i) is:World
i=2 greeting(i) is:World

1,访问使用(),而不像Java中的[]

2,处女座的是不是必须这么写,不写个:Array[String],总看着不爽阿!

val greeting:Array[String] = new Array[String](3)

3,update()与apply()

列表List

1,类型都是相同的

2,不可变的,(Array虽然长度固定,但是元素之使可变的)

3,(:::)实现叠加List,(::)cons:将新元素组合到列表的最前端

  val list1 = 1::2::3::5::Nil
  println(list1 )
  val list2 = 3::2::3::5::Nil
  println(list2 )
  val list3 = list2:::list1
  println(list3 )

输出结果

List(1, 2, 3, 5)
List(3, 2, 3, 5)
List(3, 2, 3, 5, 1, 2, 3, 5)

元组Tuple

1,元组也是不可变的,但是元组可以是不同类型的数据

2,实例化:var a = (,)

3,可以通过点号,下划线,-N(N从1开始)的索引访问元素

var tuple = (200,"strstr",3.1415926)
println(tuple._1)//从1开始
println(tuple._2)
println(tuple._3)

Set

1,创建,初始化
var set = Set("","")

2,不可变Set引入

import scala.collection.mutable.Set

可变Set引入

import scala.collection.immutable.Set

3,不可Set调用(+)产生新的Set,只有可变Set才有(+=)

Map

var unMap = Map[Int,String]()
unMap += (1 ->"str1")
unMap += (2 ->"str2")
unMap += (3 ->"str3")
println("unMap(2) is "+unMap(2))

1,Map与set一样也分可变与不可变

2,Map默认不可变,故使用不可变Map不需要引入(import).


你可能感兴趣的:(scala编程笔记)