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
}
}
最新文章
- Notes:SVG(4)基于stroke-dasharray和stroke-dashoffset圆形进度条
- 我的bootstrapTable的应用
- GoldenGate碎碎念
- flow.ci Beta 上线,将开发工作流自动化
- Visual Studio 2013编辑HTML文件无设计视图的解决方案
- hdu 1370 Biorthythms 中国剩余定理
- 自己diy一个jquery分页插件
- 谓词的使用 -ios
- C++学习49 对二进制文件的读写操作
- Windows下编译openssl
- plsqldev与sqldeveloper
- UESTC 1425 Another LCIS
- 小白鼓捣GIT的心得
- ESPlatform 支持的三种群集模型 —— ESFramework通信框架 4.0 进阶(09)
- 关于多条数据转为json格式单次传输的问题 2017.05.27
- Qt调用自己编译的libglog.a出现问题
- Centos7下修改固定IP
- SpringBoot学习(一)-->;Spring的发展
- TortoiseGit连接gitlab,一直要求输入密码
- rap 部署
热门文章
- PZISP自动下载软件运行时出现“应用程序无法启动,因为应用程序的并行配置不正确”
- CSS3之弹性布局
- Tomcat Connector三种运行模式
- 对应键盘的ASCII码(备忘)
- JS产生四位随机数的方法
- 【缓存】利用Cache防止同一帐号重复登录
- ASP.NET的SEO:SEO Hack --- Html注入和Nofollow
- Silverlight 使用IsolatedStorage新建XML文件,并且用LINQ查询XML
- 小菜的系统框架界面设计-数据的完美呈现(DataGridView扩展)
- 新浪SAE URLRewrite(伪静态、重定向)详解