object Test1 {
def main(args: Array[String]): Unit = {
//不可变的Array:长度不可变
val arr1 =Array(1,2,3)
arr1(0) = 100
arr1.foreach(println)
//数组的常用的方法(对于可变和不可变的数组都可以使用)
//1.截取。 从源数组中,取一部分,组成一个新的数组
//arr1.slice(起点下标,终点下标-不包括)
val arr2 = arr1.slice(2,5)
arr2.foreach(println)
//2.遍历
//3.映射 map
//Array(1,2,3)--------->Array(2,4,6)
val arr3 = Array(1,2,3).map(e=>e*2)
arr3.foreach(println)
//4.过滤 filter
println("-"*50)
//留下奇数,组成一个新的数组
val arr4 =Array(2,3,4,5,6).filter(e => e%2==1)
arr4.foreach(println)
//5.折叠 reduce
println(Array(1,2,3,4).reduce((a,b)=>a+b))
println("-"*50)

//多维数组
val arr5 = Array(Array(1,2,3),
Array(4,5,6),
Array(7,8,9))
//9
println(arr5(2)(2))
//4
println(arr5(1)(0))
//创建二维数组
//val arr6 =Array.ofDim[Int](3,3,3)
//arr6(0)(0)=1
val arr6 =Array(1,2,3,4,5,6).grouped(3)
//对数组中的元素,3个一组,升级为二维数组
while (arr6.hasNext){
val rs =arr6.next()
println(rs(0))
}
}
}
实训题目

答案:1.C 2.B 3.A,B 4.B 5.B
可修改的:ArrayBuffer
// def main(args: Array[String]): Unit = {
//1 新建
// val arr1=ArrayBuffer(1,2,3)
// //2 添加
// arr1+=4
// arr1.insert(0,100)
// //3 删除
// arr1-=3//删除指定的元素
// arr1.remove(0)//删除指定位置(下标)的元素
// //4 修改
// arr1(0)=50//把下标为0的元素赋值为50
//
// //注意,下标不能越界,有效的范围是:0- 长度-1
// println(arr1.length)//length 长度,用来获取元素的个数
// println(arr1(1))//IndexOutOfBoundsException
// //5 查询
// //5.1 判断某个元素在数组中是否存在
// println(s"50在数组中吗 ${arr1.contains(50)}")
// //5.2 找到指定元素的下标
// //-1 表示这个元素在数组中不存在
// println(s"500在数组中的下标是:${arr1.indexOf(500)}")
// //6 遍历
// //for,foreach,iterator
//// for (i<-arr1)println(i)
//// println("-"*50)
//// arr1.foreach(println)
//// println("-"*50)
// val it1=arr1.iterator
// while (it1.hasNext){
// println(it1.next())
// }
2470

被折叠的 条评论
为什么被折叠?



