Spark 3000门徒第一课随笔

昨晚听了王家林老师的Spark 3000门徒系列课程的第一课,把scala基础过了一遍,对ArrayBuffer有了新的认识:

Array本身创建后不可修改
ArrayBuffer可修改
import scala.collection.mutable.ArrayBuffer
val arrB = ArrayBuffer[int]()
arrB += 10
arrB += (11,12,13,5)
arrB ++= Array(1,2,3,5)
arrB.trimEnd(3) 从尾部截断3个
arrB.trimStart(3) 从头部截断
arrB.insert(5,100) 第五个位置增加数字100
arrB.insert(7,9,2) 第七个位置增加一堆数字
arrB.remove(10) 删掉第10个元素,返回值就是删除的值
arrB.remove(10,3) 删掉第10个开始的3个元素
val arr = arrB.toArray
arrB2 = arr.toBuffer
for(elem <- arr) println(elem)

 

另外还有一个课后作业:移除一个数组中第一个负数后的所有负数

下面是我的答案:

import scala.util.control.Breaks._

object ArrayRm {
def main(args: Array[String]) : Unit = {
val arr = rmFu(Array(1,-2,3,-4,-5,6,-7,8))
for(i <- arr) println(i)
}

def rmFu(arr: Array[Int]) = {
val arrayBuffer = arr.toBuffer
var k = 0
breakable {
for(i <- arrayBuffer){
if(i<0) {
k
break
}
k += 1
}
}
println("k=" + k)

for (i <- (0 until arrayBuffer.length).reverse) {
if(i!=k && arrayBuffer(i)<0) arrayBuffer.remove(i)
}
arrayBuffer.toArray
}
}

 

转载于:https://www.cnblogs.com/haitianS/p/5094457.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值