arraybuffer操作_scala中ArrayBuffer简单使用

import scala.collection.mutable.ArrayBuffer

/**

* 与Array区别:

* 1、Array是不可变的,不能直接地对其元素进行删除操作,只能通过重赋值或过滤生成新的Array的方式来删除不要的元素

* 2、ArrayBuffer是可变的,提供了很多元素的操作,包括删除的操作

* 他们相互转化很方便,调用toArray 、toBuffer方法即可

*/

object ArrayBufferUse {

def main(args: Array[String]): Unit = {

val b = ArrayBuffer[Int]()

b+= 1;

b+= (2,3,4,5,6)

b.remove(1) // 删除元素

println(b.mkString(","))

// 变成Array

val ary = b.toArray

println(ary.mkString(","))

println(ary.sum)

println(ary.max)

println(ary.min)

println(ary.toBuffer.toString)

// yield

var b1 = for(ele

println(b1.mkString(","))

val ab = ArrayBuffer[Int]()

ab +=(2,3,4,5,6)

val c = for(ele

println(c.mkString(","))

// 找出来偶数

val d1 = for(ele

println(d1.mkString(","))

// 函数式编程 _ 表示元素

println(d1.filter(_ % 2 == 0).map(_ * 3).mkString(","))

removeNegativeBad()

removeNegativeGood()

}

def removeNegativeBad()={

val ab = new ArrayBuffer[Int]()

ab += (1,2,3,4,5,-1,-2,-3)

var findNegative = false

var index = 0

var abLen =ab.length

while (index < abLen) {

if(ab(index) >=0 ){

index += 1

}else{

if(!findNegative){

findNegative = true;

index+=1

}else{

ab.remove(index)

abLen -=1

}

}

}

println(ab.mkString(","))

}

def removeNegativeGood()={

val ab = ArrayBuffer[Int]()

ab+=(1,2,3,4,-1,-2,-3,-4,-5)

var foundNegative = false

val keepIndex = for (i = 0) yield {

if(ab(i) < 0 ) foundNegative = true

i

}

for (i

ab(i) = ab(keepIndex(i))

}

ab.trimEnd(ab.length - keepIndex.length)

println(ab)

}

}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值