scala中的數據結構

scala數據結構

  • 1、種類
    scala的數據結構有:數組Array、元組Tuple、容器Collection、序列Sequence、集合Set、映射Map、迭代器Iterator

  • 2、數組

    • 創建方式 (創建一個長度爲10類型爲Int的數組
      • 1 val arr = new Array[Int](10) 默認初始化爲0
      • 2 val arr = Array(0,0,0,0,0,0,0,0,0,0) 自動推斷數據類型
      • 3 val arr = Array.ofDim[Int](3,4) 創建三行四列數組
      • 4 val arr = new Array[Array[Int]](3)
    • 索引 arr(0)、arr(1)… 下標從0開始
    • 數組中每個元素的數據類型必須相同
  • 3、元組

    • 創建方式
      • val tuple = (“a”,1,1.234)
    • 索引
      • tuple._1、tuple._2… 下標從1開始
    • 元組允許元素具有不同的數據類型
  • 5、序列(Sequence)

    • 列表(List)
      • 創建:val l1 = List(“spark”,“hadoop”,“hbase”)、val l1 = “hbase”::“hadoop”::“spark”::Nil
      • 索引:l1(0)、l1.head(取列表頭元素)、l1.tail(獲取除頭元素外的數據)
      • 拼接方式:val l2 = “flink”::l1 (只能在表頭加)
      • 列表不可修改,內部元素數據類型一致
    • 向量(Vector)
      • 創建 val vec1 = Vector(1,2,3)
      • 索引:vec1(0)
      • 拼接方式 val vec2 = 3+:4+:vec1(頭);val vec3 = vec1 :+ 12(尾)
    • Range 不可變數字等差序列
      • 創建 Range(1,2,3,4,5):
        val r = new Range(1,5,1)
        val r = 1 to 5 by 1
        val r = 1 until 6(不包含尾)
    • 集合(Set)
      • 集合無序、無重複元素
      • 創建 val myset = Set(“Hadoop”,“Spark”)
    • 映射(Map) 鍵值對
      • 創建:val map = (“a”->1,“b”->"2)
        val map = ((“a”,1),(“b”,2))
      • 索引:map(key)
      • 添加:map + ((“c”,3),(“d”,4))
發佈了58 篇原創文章 · 獲贊 18 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章