zoukankan      html  css  js  c++  java
  • Scala数组

    定义数组array:

    //创建数组
    var arr1=Array(1,2,3)//初始化赋值数组
    var arr2=New Array[Int](3)//初始化指定元素为Int,长度为3不可变
    //遍历数组
    for(i<-arr1.indices)print(i)//i表示从1到arr1的长度为止的数字序列
    //数组赋值
    arr1(0)=10//赋值10给数组第一个元素
    //数组的方法
    var amax=arr1.max//数组最大值,其他聚合函数用法相同
    var alen=arr1.length//数组长度
    //map方法,遍历后yield
    var aarr=arr1.map(_+1)//map相当于yield,过程为所有元素+1,返回新数组
    //foreach方法,遍历无输出
    arr1.foreach(printf _)//遍历打印
    //过滤器
    var newarr=arr1.filter(_%2==0)//满足过滤条件的元素生成新数组,_表示所有元素
    //合并数组
    var carr=concat(arr1,arr2)
    //数组排序
    var sarr=arr1.sorted
    //字符串拆分后按长度排序
    var sarr="aaa aa a aaaa".split("\s").sortWith(_.length < _.length )
    //reduceLeft方法,第一个元素和第二元素操作后的结果与第三个元素操作
    var res=arr1.reduceLeft(_*_)//阶乘
    //比较两个数组的所有元素
    var flag=arr1.corresponds(arr2)(_.equals(_))//元素依次比对返回布尔
    //zip方法,依次组合两个Range,返回Vector,两个Array,返回元组
    var a1=1 to 5
    var a2=2 to 6
    var a3=a1 zip a2//返回Vector((1,2), (2,3), (3,4), (4,5), (5,6))

    变长数组arraybuffer:

    //创建和遍历数组的方法同Array
    var arr=new ArrayBuffer[Int]()
    //赋值
    arr+=(1,2,3)
    //在指定索引位置追加元素
    arr.insert(0,10,20)//在0索引位置,追加10和20
    //追加其他数组的元素
    arr++=ArrayBuffer(4,5,6)
    //截取元素
    arr.trimStart(2)//前两个
    arr.trimEnd(2)//后两个
    //按索引删除
    arr.remove(0)//删除第一个元素

  • 相关阅读:
    siteserver学习笔记
    移动端开发适配的2中方案
    移动端中适配问题
    2倍图3倍图怎么用
    常用的网站收藏
    关于用h5实现移动端的知识梳理
    悬浮广告代码
    vue中添加echarts
    VUE中给template组件加背景
    纯CSS控制背景图片100%自适应填充布局
  • 原文地址:https://www.cnblogs.com/yuanxiaochou/p/12249367.html
Copyright © 2011-2022 走看看