scala Array与ArrayBuffer学习记录

//
//
//








定长数组
/


//1)Array 是定长的数组  定义直接初始话,可以不用指定类型
var data=Array[String]("zs","ls");
//var data=Array(1,2)
for(i <- data) println(i)


//数组通过(length-1) 进行访问以及修改
data(0)="we"
data(1)="good"
for(i <- data) println(i)


//如果越界访问报错
data(2)="ls"
println(data(2))


//==============================
//2)Array 定长数据,不进行初始话,只指定数组长度,需要指定类型,否则会默认Nothing,会根据指定类型进行初始话


var data =new Array[Int](10);








//3) new Array[Int](n) 通过new实例话的参数表示数组长度   Array[Int](n....) 表示内容




变长数组ArrayBuffer
/


//1)需要导入import  scala.collection.mutable.ArrayBuffer
 var data=ArrayBuffer("zs","ls")
 for(i <- data) println(i)
 
 //访问方式不可以通过(length-1)的形式
 
 //2) 实例话建议使用有初始话的方式进行实例话  或者通过new的方式,传参与不传参没有多大用
 
 //3 += 尾巴添加一个或多个元素()
 data+="we"
 data+=("good","learn")
 
 
 //4 ++=向数组中添加内容   可以任何集合
  data++=Array("one","two")
  data++=List("3","4")
  
 //5 删除末尾n个元素
  data.trimEnd(2)
  
 //6在指定位置添加元素[index的下标从0,到现有的长度] 也可以同时添加多个元素
  data.insert(0,"firt")
  data.insert(0,"1","2","3")
  
 //7 从某个位置删除n个元素[n的要求,删除的数量不能够超过元素数据最后的元素,否则越界]
  data.remove(0,3)
  
  
变长数组ArrayBuffer与定长数组转换[原数组类型并没有发生变化,只是生成了一个新的数组]
/
  var data2=data.toArray
  var data2=data3.toBuffer