Scala 04 集合(一)数组、List

1 定长数组

scala> val a = new Array[String](5)
a: Array[String] = Array(null, null, null, null, null)

scala> a
res0: Array[String] = Array(null, null, null, null, null)

scala> a.length
res1: Int = 5

scala> a(1) = "hello"

scala> a
res3: Array[String] = Array(null, hello, null, null, null)

scala> a(1)
res4: String = hello
scala> val b = Array("hadoop", "spark", "storm")
b: Array[String] = Array(hadoop, spark, storm)

scala> b(1)
res5: String = spark

scala> b(2)="java"

scala> b
res7: Array[String] = Array(hadoop, spark, java)
scala> val c=Array(1,2,3,4,5,6,7,8)
c: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8)

scala> c.sum
res8: Int = 36

scala> c.max
res9: Int = 8

scala> c.min
res10: Int = 1

scala> c.mkString
res11: String = 12345678

scala> c.mkString(",")
res12: String = 1,2,3,4,5,6,7,8

scala> c.mkString("<",",",">")
res13: String = <1,2,3,4,5,6,7,8>

2 变长数组

scala> val d=scala.collection.mutable.ArrayBuffer[Int]()
d: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer()

scala> d.length
res14: Int = 0

scala> d+=1
res15: d.type = ArrayBuffer(1)

scala> d+=2
res16: d.type = ArrayBuffer(1, 2)

scala> d
res17: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(1, 2)
scala> d+=(3,4,5)
res18: d.type = ArrayBuffer(1, 2, 3, 4, 5)

scala> d ++= Array(6,7,8,9)
res21: d.type = ArrayBuffer(1, 2, 3, 4, 5, 6, 7, 8, 9)
// 在第0个位置插入0
scala> d.insert(0,0)

scala> d
res23: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

// 去掉第二个索引位置的值
scala> d.remove(2)
res24: Int = 2

scala> d
res25: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(0, 1, 3, 4, 5, 6, 7, 8, 9)

// 从第五个索引位置开始,去掉2个值
scala> d.remove(5,2)

scala> d
res27: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(0, 1, 3, 4, 5, 8, 9)

// 去掉最后两个值
scala> d.trimEnd(2)

scala> d
res29: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer(0, 1, 3, 4, 5)
// 可变数组转换成不可变数组
scala> d.toArray
res30: Array[Int] = Array(0, 1, 3, 4, 5)

scala> d.mkString
res31: String = 01345
// 遍历数组
scala> for(i <- 0 until d.length){
     |     print(d(i)+" ")
     |   }
0 1 3 4 5

scala> for (ele <- c){
     |     print(ele+" ")
     |   }
1 2 3 4 5 6 7 8

scala> for(i <- (0 until d.length).reverse){
     |     print(d(i)+" ")
     |   }
5 4 3 1 0

3 List

scala> Nil
res36: scala.collection.immutable.Nil.type = List()
// 定义一个List
scala> val l = List(1, 2, 3, 4, 5)
l: List[Int] = List(1, 2, 3, 4, 5)

scala> l.head
res37: Int = 1

scala> l.tail
res38: List[Int] = List(2, 3, 4, 5)

// 拼接其他List
scala> val l2 = 1 :: Nil
l2: List[Int] = List(1)

scala> val l3 = 2 :: l2
l3: List[Int] = List(2, 1)

scala> l.length
res39: Int = 5

// 定义一个变长List
scala> val l5 = scala.collection.mutable.ListBuffer[Int]()
l5: scala.collection.mutable.ListBuffer[Int] = ListBuffer()

scala> l5 += 2
res40: l5.type = ListBuffer(2)

scala> l5 += (3, 4, 5)
res41: l5.type = ListBuffer(2, 3, 4, 5)

scala>   l5 ++= List(3, 4, 5, 6)
res42: l5.type = ListBuffer(2, 3, 4, 5, 3, 4, 5, 6)

scala>   l5 -= 2
res43: l5.type = ListBuffer(3, 4, 5, 3, 4, 5, 6)

scala>   l5 -= (1, 4)
res44: l5.type = ListBuffer(3, 5, 3, 4, 5, 6)

scala>   l5 --= List(4, 5, 6)
res45: l5.type = ListBuffer(3, 3, 5)

scala>   l5.toList
res46: List[Int] = List(3, 3, 5)

scala>   l5.toArray
res47: Array[Int] = Array(3, 3, 5)

scala>   l5.isEmpty
res48: Boolean = false

scala>   l5.head
res49: Int = 3

scala>   l5.tail.head
res50: Int = 3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值