Scala数组的定义和使用

一、数组的定义:

1、不可变数组的定义

①、val arr=new Array[Int](5) 定义一个长度为五的定长数组
②、val arr= Array[Int](1,4,5,6,7)给定泛型和内容的定长数组
③、val arr3=Array(1,3,true,"hello",3.5,2L) 不给泛型给内容的定长数组

2、可变数组的定义

前提:先导包

import scala.collection.mutable._

①、val arr=new ArrayBuffer[Int]() new 一个ArrayBuffer,给定泛型的不定长数组
②、val arr1=ArrayBuffer[String]() 给定泛型的不定长数组
③、val arr2=ArrayBuffer() 不给定泛型的定长数组

3、定长和不定长之间的转换

(1) 定长转不定长,使用.toBuffer

val arr=new Array[Int](5)
val buffer = arr.toBuffer

(2) 不定长转定长,使用.toArray

val arr=new ArrayBuffer[Int]()
val arr1 = arr.toArray

4、将对偶的数组转换成映射(array -> map).map

val arr=Array(("a",10),("b",17),("b",13));
arr.toMap

二、数组的赋值以及添加

1、定长数组,下角标为零的赋值为3

val arr=new Array[Int](5)
arr(0)=3
println(arr.toBuffer)

2、变长数组
(1)append追加元素

import scala.collection.mutable._
val arr =ArrayBuffer(1,2,3,4)
arr.append(5)
println(arr)

(2)+= , .+=() 添加1个元素

import scala.collection.mutable._
val arr =ArrayBuffer(1,2,3,4)
//arr+=5
arr.+=(5)
println(arr)

(3)+= , .+=() 添加多个元素

import scala.collection.mutable._
val arr =ArrayBuffer(1,2,3,4)
//arr+=(5,6,7)
arr.+=(5,6,7)
println(arr)

(4)++=添加一个数组

import scala.collection.mutable._
val arr =ArrayBuffer(1,2,3,4)
arr++=Array(5,6,7)
println(arr)

(5)减少一个元素

import scala.collection.mutable._
val arr =ArrayBuffer(1,2,3,4)
arr-=2
println(arr)

(5)减少多个元素

import scala.collection.mutable._
val arr =ArrayBuffer(1,2,3,4)
//arr-=(2,3,4)
arr--=Array(2,3,4)
println(arr)

三、数组的遍历

1、增强for循环

val arr=Array(1,2,3,4,5)
for(i <- arr){
  println(i)
}

2、使用下角标

val arr=Array(1,2,3,4,5)
for(i<- 0 until(arr.length)){
  println(arr(i))
}

3、使用foreach()

val arr=Array(1,2,3,4,5)
arr.foreach(println)

四、数组常用函数

1、求和 sum

import scala.collection.mutable._
val arr =ArrayBuffer(1,2,3,4)
println(arr.sum)

2、最大值 max

import scala.collection.mutable._
val arr =ArrayBuffer(1,2,3,4)
println(arr.max)

2、最小值 min

import scala.collection.mutable._
val arr =ArrayBuffer(1,2,3,4)
println(arr.min)

3、排序

import scala.collection.mutable._
val arr =ArrayBuffer(1,6,5,4,2)
println(arr.sorted)

4、取前三个

import scala.collection.mutable._
val arr =ArrayBuffer(1,6,5,4,2)
println(arr.take(3))

5、取后三个

import scala.collection.mutable._
val arr =ArrayBuffer(1,6,5,4,2)
println(arr.takeRight(3))

6、删除前三个

import scala.collection.mutable._
val arr =ArrayBuffer(1,6,5,4,2)
println(arr.drop(3))

7、删除后三个

import scala.collection.mutable._
val arr =ArrayBuffer(1,6,5,4,2)
println(arr.dropRight(3))

8、取头部(第一个元素)

import scala.collection.mutable._
val arr =ArrayBuffer(1,6,5,4,2)
println(arr.head)

9、取尾部(除了第一个元素的其他元素)

import scala.collection.mutable._
val arr =ArrayBuffer(1,6,5,4,2)
println(arr.tail)

10、取最后一个元素

import scala.collection.mutable._
val arr =ArrayBuffer(1,6,5,4,2)
println(arr.last)

五、拉链操作

1、.zip 以短的数组为主

val a1=Array("a","b","c")
val a2=Array(10,16,19,20)
a1.zip(a2)
println(a1.zip(a2).toBuffer)

2、 a1.zipAll(a2,"aa",99) 假如a1短用aa代替,假如a2短99代替

val a1=Array("a","b","c")
val a2=Array(10,16,19,20)
a1.zipAll(a2,"aa",99)
println(a1.zipAll(a2,"aa",99).toBuffer)

3、.zipWithIndex与自己索引结合

val a1=Array("a","b","c")
a1.zipWithIndex
println(a1.zipWithIndex.toBuffer)
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值