0005.Scala数组操作实战

15 篇文章 0 订阅
1.Scala Worksheet的创建
(1)在创建的Scala工程中点击右键,选择新建“New”
(2)选择“ Scala Worksheet
(3)输入类名字如:ScalaInAction
(4)自动生成代码,点击保存,就可以直接看到结果,不用点击运行。这样更方便进行测试,使用。
package  com.jn.scala.hello

object  ScalaInAction {
  println( "Welcome to the Scala worksheet" )        //> Welcome to the Scala worksheet

2.数组的实际操作例子
package com.jn.scala.hello

import scala.collection.mutable.ArrayBuffer

/**
* @author jiangning
*/
object ArrayOps {
  def main(args : Array[String]){
   
//    数组是从第0个元素下标开始的
    val array = Array(1,2,3,4,5)
//    for(i <- 0 until array.length)
//      println(array(i))
//      增强for
      for(elem <- array)
        println(elem)
       
         println("Welcome to the Scala worksheet")
   println("Welcome to the Scala worksheet")
  //1.定义固定长度的整数数组,初始化每个值为0
  val nums = new Array[Int](10)
  //2.定义固定长度的数组String,固定长度为10,初始化每个值为null
  val a = new Array[String](10)
 
  //3.定义不固定长度数组
  val s = Array("Hello","world")
  s(0)
  //s(0)进行替换
  s(0) = "goodbye"
  s
  for(elem <- s)
  println(elem)
//4.ArrayBuffer
  val b = ArrayBuffer[Int]()
  b += 1
  b += (1,2,3,4,5)
  b ++=Array(8,13,21)
  b
  //5.删除后面5个元素
  b.trimEnd(5)
  b
  b.insert(2, 6)
  b
  b.insert(2, 7,8,9)
  b
  //移除下标是2的元素
  b.remove(2)
  b
  //移除下标从2开始的,包括2,后面的3个元素,也就是删除下标为2,3,4,5
  b.remove(2, 3)
  b
  b.toArray
  b
  //var c = b.toArray
  //b
  //不能对c进行修改
  //c += 1
 
  val c = Array(2,3,5,7,11)
  //下面这个表达式没有内容所以就是Unit
  //val result = for(elem <-c)  2*elem
  val result = for(elem <-c) yield 2*elem
  //所有偶数乘以2
  val result2 = for(elem <-c if elem % 2 == 0) yield 2*elem
  //下面这种写法更加专业
  c.filter(_ % 2 == 0).map(_ * 2)
  //对数组进行求和
  c.sum
  //找出长度最长的
  ArrayBuffer("Mary","a","had","little","lamb").max
  val d = ArrayBuffer(1,7,2,9)
  val bSortd = d.sorted
  val e = Array(1,7,2,9)
  scala.util.Sorting.quickSort(e)
  e
 
  e.mkString(" and ")
  e.mkString("<", ",", ">")
 
  //矩阵定义,指定内部数据类型为Double
  val matrix = Array.ofDim[Double](3, 4)
  matrix(2)(1) = 42
  matrix
  val triangle = new Array[Array[Int]](10)
  for(i <- 0 until triangle.length)
  triangle(i) = new Array[Int](i+1)
  triangle
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值