scala中的Array

41 阅读1分钟
  • List:有序,链表,空间上不连续
  • Array:有序的,数组,空间上连续

(一)Array的定义

Array 是一种在 Scala 中用于存储固定大小、相同类型元素的数据结构。它在内存中是连续存储的,这使得访问元素的速度非常快。 类型有两种:Array表示长度不可变的数组 和 ArrayBuffer表示长度可变的数组

package Array
//Array: 可变,不可变
//  不可变
//    scala.Array
//  可变
//     scala.collection.mutable.ArrayBuffer

object array1 {
  def main(args: Array[String]): Unit = {
    val arr1=scala.Array(1,2,3)
    //arr1 += 4; 不可变的数组,不能添加
    val arr2 =scala.collection.mutable.ArrayBuffer(1,2,3)
    arr2 += 4 // 可变数组,可以添加元素
    println(arr2)
  }

}
package Array

//Array: 可变,不可变
//  不可变
//    scala.Array
//  可变
//     scala.collection.mutable.ArrayBuffer
/**
 * 常见方法
 *  1: 添加
 *  2:删除
 *  3:获取指定下标元素
 *
 *
 */

object array2 {
  def main(args: Array[String]): Unit = {
    val arr2=scala.Array(1,2,3)
   // 1.添加
    arr2 += (4,5)//可变数组,可以添加元素
    //2.删除
    arr2 -= 2
    //3.获取指定下标的元素
    // arr2(0) 下标为0,数组中的第一个元素
    println(arr2(0))
    //4.修改
    arr2(0) =100
    // 5.遍历
    arr2.foreach(ele => println(ele))
    //println(arr2)
  }

}

例题

image.png

object array3 {
  case class DreamItem(content: String, var isDone: Boolean, deadline: String, prior: Int)
  def main(args: Array[String]): Unit = {
    val dreamList = scala.collection.mutable.ArrayBuffer(
      DreamItem("xxx", false, "2026-09-01", 1),
      DreamItem("xxx", false, "2026-12-30", 2),
      DreamItem("xxx", false, "2026-07-10", 3)
    )
    
    //4
    dreamList(2).isDone = true
    //5
    dreamList(0).prior =1
    //6
    val orderListed =dreamList.sortBy(_.prior)
    //7 去前两个
    val priorList =orderListed.take(2)
    //8
    
    priorList.foreach(ele => {
      println(ele.content, if(ele.isDone) "已实现" else "未实现",ele.prior)
    })
  }
}
  • 完结撒花 !!!!!!!!!!
  • 制作不易 希望·一键三连 在此感谢关注的粉丝宝宝
  • 新来的宝宝可以关注下主播哟!!!!!