第三章 Scala常用数据结构_数组

1:数组
    1)。声明数组(使用new的方式定义)(定长数组)
     var arr=new Array[Int](5)
    arr(0)=1
    println(arr)
    for(a <- arr){
      println(a)
    }
2)。不指定数据类型
   var arr=Array(1,2,3,4,5,"赵占龙")
   for(a <- arr){
      println(a)
    }
这样的数组也是可以的,但是如果要是指定了数据类型,那么数据就只能是对应类型啦
3)。数组的几个api (求和,最大值,最小值)
 
4)。变长数组
  var arr=ArrayBuffer[Int](1,2,3,4,5)
  println(arr.mkString(","))
  arr+=6  //想变长数组添加一个元素(从末尾添加)
  println(arr.mkString(","))
  arr-=2  //变长数组移除元素(移除数组中值为2的元素)
  println(arr.mkString(","))
  var arr2=Array(1,2,3,4,5)
  arr++=arr2  //加一个定长数组到变长数组
  println(arr.mkString(","))
  arr--=Array(1,2,5) //可变数组中删除指定的另外一个数组的元素
   println(arr.mkString(","))
   //定长数组转化为变长数组
  var arr3=Array(1,2,3,4,5)
  var arr3buff= arr3.toBuffer
  arr3buff+=9
  println(arr3buff.mkString(","))
  //变长数据转化为定长数组
   var arr4= arr3buff.toArray
并且Scala中可以直接引用java的的api
 
    var list=new ArrayList[Int]
  list.add(1)
  list.add(2)
  for(i <- 0 until list.size()){
      println(list.get(i))
  }
5)。数组过滤器(filter和map)
        var arr7=Array(1,2,3,4,5)
      var arr8=arr7.filter(_%2==0).map(_*2)
      println(arr8.mkString(","))
      var arr9=arr7.filter(_%2==0).map{_*3}
      println(arr9.mkString(","))
      小括号可以修改成大括号
      在Scala的Filter中 "_"这个代表的是每个元素
      filter 传递一个条件进去
      map传递一个实现进去  
posted @ 2017-12-26 20:57  瀚海行舟  阅读(183)  评论(0编辑  收藏  举报