数组:物理空间上连续的(一个挨一个)
优势:根据下标,能快速找到元素
列表:物理空间上不连续(不是一个元素挨着一个元素)
优势:插入元素,删除比较快
object dd {//不可变的数组(默认是)def main(args: Array[String]): Unit = {//1.创建数组val arr1 = Array(1,2,3)//2.查看数组的元素,根据下标:格式 数组名(下标)//下标从0开始//超过下标会报错println(s"arr1的第二个元素值是:${arr1(2)}")//3.遍历//for ,foreach,itertor//for(i <- arr1)println(i)//arr1.foreach(println)val it1 = arr1.iteratorwhile (it1.hasNext){println(it1.next())}}}
//可变的数组
def main(args: Array[String]): Unit = {val arr1 = ArrayBuffer(1,2,2,3,4)//1.删除一个元素arr1 -= 4//2.添加一个元素arr1 += 5//3.修改元素。 数组名(下标)= 数组//3 -->100arr1(2)=100//4.检查某个元素在数组中存在println(s"数组中是否包含5:${arr1.contains(5)}")//4.1找指定元素的下标: 找元素2在数组中的下标是多少?//如果找不到,返回-1//如果有多个相同元素,返回第一个下标println(arr1.indexOf(2))// arr1.foreach(println)//5.从一个数组中,截取连续的一段来组成一个新的数组//ArrayBuffer(-1,-2,1,2,3,4,5) ----->(1,2,3)//ArrayBuffer(-1,-2,1,2,3,4,5).slince(截取这段的起点下标,截取这段的终点下标)
// val arr2 = ArrayBuffer(-1,-2,1,2,3,4,5).slice(2,5)
// ArrayBuffer(-1,-2,1,2,3,4,5) ---->(1,2,3,4,5)
val arr2 = ArrayBuffer(-1,-2,1,2,3,4,5).slice(2,7)arr2.foreach(println)
}