国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

第7章 Scala集合

這篇具有很好參考價值的文章主要介紹了第7章 Scala集合。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

第7章 Scala集合

7.1 簡介

第7章 Scala集合?

第7章 Scala集合?

  • scala.collection.immutable

    第7章 Scala集合?

  • scala.collection.mutable

    第7章 Scala集合?

7.2 數(shù)組

第7章 Scala集合?

  1. 不可變數(shù)組

    package chapter07
    
    object Test01_ImmutableArray {
      def main(args: Array[String]): Unit = {
        // 1. 創(chuàng)建數(shù)組
        val arr: Array[Int] = new Array[Int](10)
        arr(9) = 9
        println(arr.mkString(","))
    
        // 另一種創(chuàng)建方式
        val arr2 = Array[Int](1, 2, 3, 4, 65)
    
        // 2. 數(shù)組操作-(由于是不可變數(shù)組,增刪不能改變)改查
        // 訪問元素
        println(arr2.mkString(","))
        arr2(0) = 100
        println(arr2.apply(0))
        arr2.update(0, 199)
        println(arr2.mkString(","))
    
        // 3. 數(shù)組的遍歷
        // for循環(huán)
        for (i <- arr2.indices) {
          println(arr2(i))
        }
    
        // 增強for循環(huán)
        for (ele <- arr2) {
          println(ele)
        }
    
        // 迭代器
        val iterator: Iterator[Int] = arr2.iterator
        println("++++++++++迭代器+++++++++++++++")
        while (iterator.hasNext) {
          println(iterator.next())
        }
    
        // foreach
        arr2.foreach((ele: Int) => {
          println(ele)
        })
        arr2.foreach(println(_))
    
        println(arr2.mkString("----"))
    
        // 3. 添加元素,由于是不可變數(shù)組,因此添加元素之后,生成一個新的數(shù)組
        // 30------199------2------3------4------65------2
        val array: Array[Any] = arr2.:+(2).+:(30)
        // 往后追加元素 :+,往前追加元素 +:
        2 +: arr2 :+ 10 :+ 10
    
    
        println(array.mkString("------"))
    
        arr2 ++ Array(2)
    
      }
    
    }
    
    
  2. 可變數(shù)組

    package chapter07
    
    import scala.collection.mutable
    import scala.collection.mutable.ArrayBuffer
    
    object Test02_mutableArrayBuff {
      def main(args: Array[String]): Unit = {
        // 1. 創(chuàng)建一個可變數(shù)組,無任何元素
        val arr = new ArrayBuffer[Int]()
        println(arr.mkString("--"))
        arr += 10
    
        println(arr.mkString("--"))
    
        // 另一種創(chuàng)建方法
        val arr2: ArrayBuffer[Int] = ArrayBuffer(19, 10, 2)
        println(arr2)
        println(arr2.mkString("==="))
    
        // 2. 訪問元素
        println(arr2(0))
    
        // 3. 添加元素
        val newArr = arr2 :+ 10
    
    
        println(newArr == arr2)
        println(arr2)
    
        // 不建議這樣的操作,建議arr2 += 10
        val arr3 = arr2 += 10
        println(arr3 == arr2)
    
        101 +=: arr3
        println(arr3)
    
        // 可變集合推薦調(diào)用方法
        arr3.append(10, 1999)
        arr3.prepend(10092)
        arr3.insert(2, 22222)
    
        println(arr3)
    
        // 添加一個數(shù)組
        arr3.insertAll(1, arr)
        println(arr3)
    
        // 4. 刪除元素,指定位置
        arr3.remove(1)
        println(arr3)
    
        arr3.remove(1, 2)
        println(arr3)
    
        // 刪除特定值
        arr3 -= 10
        println(arr3)
    
        // 5. 可變數(shù)組與不可變數(shù)組之間的轉(zhuǎn)換
        val arr5 = ArrayBuffer(10, 2, 3, 1)
        val newArr5: Array[Int] = arr5.toArray
        println(newArr5.mkString("-"))
        val buffer: mutable.Buffer[Int] = newArr5.toBuffer
        println(buffer)
        println(newArr5)
      
      }
    
    }
    
  3. 多維度數(shù)組

    package chapter07
    
    object Test03_MulArray {
      def main(args: Array[String]): Unit = {
        // 創(chuàng)建2維數(shù)組
        val array: Array[Array[Int]] = Array.ofDim[Int](2, 3)
    
        // 訪問元素
        array(0)(2) = 10
    
        println(array.mkString("-"))
    
        for (i <- 0 until array.length; j <- 0 until array(i).length) {
          println(array(i)(j))
        }
      
        val array1: Array[Array[String]] = Array.ofDim[String](2, 3)
        for (i <- array1.indices; j <- array1(i).indices) {
          print(array1(i)(j) + "\t")
          if (j == array1(i).length - 1) println()
        }
      
        array.foreach(
          (line) => {
            line.foreach(println(_))
          }
        )
    
        array.foreach(
          _.foreach(println)
        )
    
      }
    
    }
    
    
    

7.3 列表List

  1. 不可變列表

    package chapter07
    
    object Test04_ImmutableList {
      def main(args: Array[String]): Unit = {
        // 列表
        // 1. 創(chuàng)建List,不能用class創(chuàng)建,只能用伴生對象創(chuàng)建
        // sealed abstract class List 中sealed表示List類的子類只能在本文件創(chuàng)建
        val list1 = List(1, 2, 3, 4, 5, 6)
        println(list1)
    
        // 2. 訪問和遍歷元素
        println(list1(0))
        // 此處不能像Array更改某個位置的值
        // list1(0) = 10 error
        //
        list1.foreach(println)
    
        // 3. 添加元素
        // 頭部添加 10 +: list1
        val list2: List[Int] = list1.+:(10)
        // 尾部添加 list1 :+ 19
        val list3: List[Int] = list1.:+(19)
        println(list2)
        println(list3)
    
        // 雙冒號主要用于創(chuàng)建一個列表
        val list4 = list1.::(51)
        println(list4)
        println(52 :: list1)
    
        // 創(chuàng)建一個列表
        val list5 = 32 :: 39 :: Nil
    
    
        // 4. 列表合并
        val list6 = list4 :: list5
        // List(List(51, 1, 2, 3, 4, 5, 6), 32, 39)
        println(list6)
    
        // 3冒號用于列表拼接,扁平化合并
        val list7 = list4 ::: list5
        // List(51, 1, 2, 3, 4, 5, 6, 32, 39)
        println(list7)
        // 等價,列表拼接,扁平化合并
        println(list4 ++ list5)
      }
    
    }
    
    
  2. 可變列表

    package chapter07
    
    import scala.collection.mutable.ListBuffer
    
    object Test05_MutableListBuffer {
      def main(args: Array[String]): Unit = {
        // 1. 創(chuàng)建可變列表
        val list1 = new ListBuffer[Int]()
        val list2 = ListBuffer(12, 13, 29)
        println(list1)
        println(list2)
    
        // 2. 添加元素,使用方法函數(shù)
        list1.append(1, 2, 3)
        list1.insert(1, 19, 22)
        list2.prepend(34, 2)
        println(list1)
        println(list2)
    
        // 3. 合并list ++ 會返回新的對象,++= 會更改
        val list3 = list1 ++ list2
        println(list3)
        list1 ++= list2
        println(list1)
    
        // 4. 修改元素
        list2(2) = 3333
        list2.update(0, 99)
        println(list2)
    
        // 5. 刪除元素
        // 指定位置刪除
        list2.remove(2)
        // 指定元素刪除
        list2 -= 29
        println(list2)
    
      }
    
    }
    
    

7.4 Set 集合

  1. 不可變Set

    package chapter07
    
    object Test06_ImmutableSet {
      def main(args: Array[String]): Unit = {
        // 1. 創(chuàng)建Set,new Set()不能創(chuàng)建,Set為特征,因此只能用伴生對象創(chuàng)建
        val set1 = Set(1, 2, 3, 34, 2, 3)
        println(set1)
    
        // 2. 添加元素
        println("=========2. 添加元素============")
        val set2 = set1 + 10 + 10 + 20 + 20 + 30
        println(set2)
    
        // 3. 合并set
        println("=========3. 合并set============")
        val set3 = Set(1, 2, 3, 4, 9, 10)
        val set4 = set2 ++ set3
        println(set4)
    
        // 4. 刪除元素
        println("=========4. 刪除元素============")
        val set5 = set4 - 30
        println(set4)
        println(set5)
    
    
      }
    
    }
    
    
  2. 可變Set

    package chapter07
    
    import scala.collection.mutable
    
    object Test07_MutableSet {
      def main(args: Array[String]): Unit = {
        // 1. 創(chuàng)建可變set
        val set1: mutable.Set[Int] = mutable.Set(1, 2, 3, 4, 10)
        println(set1)
    
        // 2. 添加元素,使用方法名
        println("============2. 添加元素============")
        val flag1 = set1.add(12)
        println(set1)
        println(flag1)
    
        val flag2 = set1.add(12)
        println(set1)
        println(flag2)
    
        // 3. 刪除元素
        println("============3. 刪除元素============")
        set1.remove(12)
        println(set1)
    
        // 4. 合并兩個set ++=
        println("============4. 合并兩個set============")
        val set3 = mutable.Set(111, 222, 3, 4, 101)
        println(set1)
        println(set3)
        set1 ++= set3
        println(set1)
        println(set3)
      }
    
    }
    
    

7.5 Map 集合

第7章 Scala集合?

  1. 不可變Map

    package chapter07
    
    object Test08_ImmutableMap {
      def main(args: Array[String]): Unit = {
        // 1. 創(chuàng)建Map
        val map1: Map[String, Int] = Map[String, Int]("scc" -> 18, "hello" -> 10)
        println(map1)
        println(map1.getClass)
    
        val map0 = Map[String, Int]()
        println(map0)
        println(map0.getClass)
    
        // 2. 遍歷元素
        map1.foreach(println(_))
        map1.foreach(kv => println(s"key is ${kv._1}, value is ${kv._2}"))
    
        // 3. 取map中所有key或者value
        /**
         * println(s"$key-->${map1.get(key)}")
         * scc-->Some(18)
         * hello-->Some(10)
         */
        for (key <- map1.keys) {
          println(s"$key-->${map1.get(key)}")
          println(s"$key-->${map1.getOrElse(key, 0)}")
        }
    
        for (value <- map1.values) {
          println(value)
        }
    
    
      }
    
    
    }
    
    
  2. 可變Map

    package chapter07
    
    import scala.collection.mutable
    
    object Test09_MutableMap {
      def main(args: Array[String]): Unit = {
        // 1. 創(chuàng)建Map
        val map1 = mutable.Map[String, Int]("scc" -> 18, "hello" -> 10)
        println(map1)
        println(map1.getClass)
    
        // 2. 添加元素
        map1.put("zyy", 19)
        println(map1)
    
        map1 += (("a", 20), ("b", 22))
        println(map1)
    
        // 3. 刪除元素
        map1.remove("zyy")
        map1 -= "d"
        println(map1)
    
        // 4. 修改元素
        map1.update("a", 209)
        println(map1)
    
        // 5. 合并兩個Map
        val map2 = mutable.Map[String, Int]("x" -> 108, "hello" -> 11)
        println(map1)
        println(map2)
        map1 ++= map2
    
        println(map1)
        println(map2)
    
        val map3: mutable.Map[String, Int] = map1 ++ map2
    
        // 6. immutable.map 和 mutable.map 互轉(zhuǎn)
        val map4: Map[String, Int] = map3.toMap
    
        val map5: mutable.Map[String, Int] = collection.mutable.Map(map4.toSeq: _*)
      }
    
    }
    
    

7.6 元組

第7章 Scala集合?

package chapter07

object Test10_Tuple {
  def main(args: Array[String]): Unit = {
    // 1. 創(chuàng)建元組
    val tuple1: (String, Int, Char, Boolean) = ("hello", 100, 'a', true)
    println(tuple1)

    // 2. 訪問數(shù)據(jù)
    println(tuple1._1)
    println(tuple1._2)
    println(tuple1._3)
    println(tuple1._4)

    // 索引從0開始,建議使用下劃線_
    println(tuple1.productElement(1))

    // 3. 遍歷元組數(shù)據(jù)
    for (ele <- tuple1.productIterator) {
      println(ele)
    }

    // 4. 嵌套元組
    val mulTuple = (12, 0.3, "hello", (23, "scala"), 29)
    println(mulTuple._1)
    println(mulTuple._4._2)
  }

}

7.7 集合常用函數(shù)

第7章 Scala集合

  1. 通用屬性和操作

    package chapter07
    
    object Test11_CommonOp {
      def main(args: Array[String]): Unit = {
        val list: List[Int] = List(1, 2, 3, 4)
        val set = Set(1, 2, 3, 4)
        // 1. 獲取集合長度
        println(list.length)
        // 3. 獲取集合大小
        println(list.size)
        println(set.size)
    
        // 3. 循環(huán)遍歷
        for (elem <- list){
          println(elem)
        }
    
    
        // 4. 迭代器
        for (elem <- list.iterator){
          println(elem)
        }
    
        val iterator: Iterator[Int] = list.iterator
        while (iterator.hasNext){
          println(iterator.next())
        }
        // 5. 生成字符串
        println(list)
        println(set)
        println(list.mkString("--"))
    
    
        // 6. 是否包含
        println(list.contains(1))
        println(list.contains(5))
        println(set.contains(2))
      
      }
    
    }
    
    
  2. 衍生集合

    第7章 Scala集合?

    package chapter07
    
    object Test12_DerivedCollection {
      def main(args: Array[String]): Unit = {
        val list1: List[Int] = List(1, 3, 5, 7, 2, 89)
        val list2: List[Int] = List(3, 7, 2, 45, 4, 8, 19)
    
        // 1. 獲取集合的頭
        println("=============1. 獲取集合的頭=============")
        println(list1.head)
        // 2. 獲取集合的尾(不是頭的尾)
        println("=============2. 獲取集合的尾(不是頭的尾)=============")
        println(list1.tail)
        // 3. 獲取集合的最后一個元素
        println("=============3. 獲取集合的最后一個元素=============")
        println(list1.last)
        // 4. 獲取集合初始元素(不包含最后一個)
        println("=============4. 獲取集合初始元素(不包含最后一個)=============")
        println(list1.init)
    
        // 5. 翻轉(zhuǎn)
        println("=============5. 翻轉(zhuǎn)=============")
        println(list1.reverse)
    
        // 6. 取前(后)n個元素
        println("=============6. 取前(后)n個元素=============")
        println(list1.take(3))
        println(list1.takeRight(4))
    
        // 7. 去掉前(后)n個元素
        println("=============7. 去掉前(后)n個元素=============")
        println(list1.drop(3))
        println(list1.dropRight(4))
    
        println("=============以下操作,涉及兩個集合操作=============")
    
        // 8. 交集
        println("=============8. 交集=============")
        val intersect = list1 intersect list2
        println(intersect)
    
        // 9. 并集
        println("=============9. 并集=============")
        val union = list1 union list2
        println(union)
        println(list1 ::: list2)
    
        // 10. 差集
        println("=============10. 差集=============")
        val diff1: List[Int] = list1.diff(list2)
        val diff2: List[Int] = list2.diff(list1)
        println(diff1)
        println(diff2)
    
        // 11. 拉鏈,取最小集合長度為準
        println("=============11. 拉鏈,取最小集合長度為準=============")
        println(s"list1: $list1")
        println(s"list2: $list2")
        val zip1: List[(Int, Int)] = list1.zip(list2)
        val zip2: List[(Int, Int)] = list2.zip(list1)
        println(s"zip1: $zip1")
        println(s"zip2: $zip2")
    
        // 12. 滑窗
        println("=============12. 滑窗=============")
        // List(1, 3, 5, 7, 2, 89)
        println(list1)
    
        /**
         * List(1)
         * List(3)
         * List(5)
         * List(7)
         * List(2)
         * List(89)
         */
        list1.sliding(1).foreach(println)
    
        /**
         * List(1, 3)
         * List(3, 5)
         * List(5, 7)
         * List(7, 2)
         * List(2, 89)
         */
        list1.sliding(2).foreach(println)
    
        /**
         * List(1, 3)
         * List(7, 2)
         */
        list1.sliding(2, 3).foreach(println)
    
        /**
         * 窗口無重復數(shù)據(jù),又叫滾動滑動窗口
         * List(1, 3)
         * List(5, 7)
         * List(2, 89)
         */
        list1.sliding(2, 2).foreach(println)
      }
    
    }
    
    
  3. 簡單計算函數(shù)

    第7章 Scala集合?

    package chapter07
    
    object Test13_SimpleOp {
      def main(args: Array[String]): Unit = {
        val list: List[Int] = List(5, 1, 8, 2, -3, 4)
        val list2 = List(("a", 5), ("b", 1), ("c", 8), ("d", 2), ("e", -3), ("f", 4))
        // 1. 求和
        println(list.sum)
        val i: Int = list.reduce((a, b) => {
          a + b
        })
        println(i)
        // 2. 求積
        println(list.product)
        // 3. 最大值
        println(list.max)
        println(list2.max)
        println(list2.maxBy(elem => {
          elem._2
        }))
    
        println(list2.maxBy(_._2))
        // 4. 最小值
        println(list.min)
        // 5. 排序
        // 按照第一個位置元素排序
        /**
         * List(-3, 1, 2, 4, 5, 8)
         * List(8, 5, 4, 2, 1, -3)
         * List((a,5), (b,1), (c,8), (d,2), (e,-3), (f,4))
         * List((f,4), (e,-3), (d,2), (c,8), (b,1), (a,5))
         */
        println(list.sorted) // 從小到大排序
        println(list.sorted(scala.math.Ordering.Int.reverse)) // 從大到小排序
        println(list2.sorted) // 從小到大排序
        println(list2.sorted(scala.math.Ordering.Tuple2[String, Int].reverse)) // 從大到小排序
    
        // 指定位置元素排序,從大到小
        /**
         * List((c,8), (a,5), (f,4), (d,2), (b,1), (e,-3))
         * List((c,8), (a,5), (f,4), (d,2), (b,1), (e,-3))
         */
        println(list2.sortBy(elem => {
          elem._2
        })(scala.math.Ordering[Int].reverse))
    
    
        println(list2.sortBy(
          _._2
        )(scala.math.Ordering.Int.reverse))
    
        // 上面方法太麻煩,使用sortWith進行簡化
        println(list.sortWith(_ < _))
        println(list.sortWith(_ > _))
        list2.sortWith((a, b) => {
          a._2 > b._2
        })
    
    
        /**
         * sorted:適合單集合的升降序
         *
         * sortBy:適合對單個或多個屬性的排序,代碼量比較少,推薦使用這種
         *
         * sortWith:適合定制化場景比較高的排序規(guī)則,比較靈活,也能支持單個或多個屬性的排序,但代碼量稍多,內(nèi)部實際是通過java里面的Comparator接口來完成排序的。
         *
         */
      }
    
    }
    
    
  4. 高級計算函數(shù)

    第7章 Scala集合??

    第7章 Scala集合?

    package chapter07
    
    object Test14_HighLevelFunction_Map {
      def main(args: Array[String]): Unit = {
        /**
         * List(2, 4, 6, 8)
         * List(2, 4, 6, 8, 10, 12, 14, 16, 18)
         * List(List(1, 2, 3), List(4, 5), List(6, 7, 8, 9))
         * List(1, 2, 3, 4, 5, 6, 7, 8, 9)
         * List(Hello, Scala, Hello, World)
         * List(Hello, Scala, Hello, World)
         * Map(1 -> List(1, 3, 5, 7, 9), 0 -> List(2, 4, 6, 8))
         * Map(2 -> List(2, 5, 8), 1 -> List(1, 4, 7), 0 -> List(3, 6, 9))
         * Map(S -> List(Scala), W -> List(World), H -> List(Hello, Hello))
         *
         */
        val list = List(1, 2, 3, 4, 5, 6, 7, 8, 9)
    
        // 1. 過濾
        val evenList: List[Int] = list.filter(_ % 2 == 0)
        println(evenList)
    
        // 2. 轉(zhuǎn)化/映射 map
        val multiply2: List[Int] = list.map(_ * 2)
        println(multiply2)
    
    
        // 3. 扁平化
        val nestedList: List[List[Int]] = List(List(1, 2, 3), List(4, 5), List(6, 7, 8, 9))
        println(nestedList)
        val flattenList: List[Int] = nestedList.flatten
        println(flattenList)
    
    
        // 4. 扁平化和映射 flatMap,先map,再flatten
        // 將一組單詞,進行分詞,再保存成單詞列表
        val strings: List[String] = List("Hello Scala", "Hello World")
        println(strings.map(_.split(" ")).flatten)
        println(strings.flatMap(_.split(" ")))
    
    
        // 5. 分組,groupBy
        // 直接分成奇數(shù)和偶數(shù)兩組
        println(list.groupBy(_ % 2))
        println(list.groupBy(_ % 3))
    
        // 給定一組單詞,按照單詞的首字母進行分組
        val stringList1: List[String] = List("Hello Scala", "Hello World")
        println(stringList1.flatMap(_.split(" ")).groupBy((elem) => {
          elem.charAt(0)
        }))
    
      }
    
    }
    
    package chapter07
    
    object Test15_HighLevelFunction_Reduce {
      def main(args: Array[String]): Unit = {
        val list = List(1, 2, 3, 4)
    
        // 1. reduce
        println(list.reduce(_ + _))
        println(list.reduceLeft(_ + _))
        println(list.reduceRight(_ + _))
    
        println("===============================")
    
        /**
         * -24
         * -24
         * 6
         */
        val list2 = List(3, 4, 5, 8, 10)
        println(list2.reduce(_ - _))
        println(list2.reduceLeft(_ - _))
        println(list2.reduceRight(_ - _)) // (3-(4-(5-(8-10))))
    
        println("==============2. fold=================")
        // 2. fold
        /**
         * ==============2. fold=================
         * 20
         * 20
         * -5
         */
        println(list.fold(10)(_ + _))
        println(list.foldLeft(10)(_ + _))
        println(list2.foldRight(11)(_ - _)) // (3-(4-(5-(8-(10-10)))))
    
      }
    
    }
    
    
  5. 應用案例-合并Map

    package chapter07
    
    import scala.collection.mutable
    
    object Test16_MergeMap {
      def main(args: Array[String]): Unit = {
        // 遍歷map1
        val map1 = Map("a" -> 1, "b" -> 3, "c" -> 6)
        // 更新map2
        val map2 = mutable.Map("a" -> 6, "b" -> 2, "c" -> 9, "d" -> 3)
    
        println(map1)
        println(map2)
    
        map1.foreach(elem => {
          val value1 = elem._2
          val value2 = map2.getOrElse(elem._1, 0)
          map2.update(elem._1, value1 + value2)
        })
    
        println(map2)
    
        map1.foldLeft(map2)(
          (mergedMap, kv) => {
            val key = kv._1
            val value = kv._2
            mergedMap.update(key, mergedMap.getOrElse(key, 0) + value)
            mergedMap
          })
    
        println(map2)
    
    
      }
    
    }
    
    
  6. 隊列

    第7章 Scala集合?

  7. 并行集合

    第7章 Scala集合?文章來源地址http://www.zghlxwxcb.cn/news/detail-498145.html

到了這里,關于第7章 Scala集合的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Scala之集合(1)

    Scala之集合(1)

    目錄 ???????集合介紹: 不可變集合繼承圖:?編輯 ?可變集合繼承圖 數(shù)組: 不可變數(shù)組: 樣例代碼: 遍歷集合的方法: 1.for循環(huán) 2.迭代器 3.轉(zhuǎn)換成List列表: 4.使用foreach()函數(shù): 可變數(shù)組: ArrayBuffer: 二維數(shù)組: ?List集合: Set 集合: 不可變 Set: 可變Set: Map集合

    2023年04月18日
    瀏覽(23)
  • Scala集合繼承體系圖

    Scala集合繼承體系圖

    1) Scala 的集合有三大類:序列 Seq、集Set、映射 Map,所有的集合都擴展自 Iterable特質(zhì)。 2) 對于幾乎所有的集合類,Scala 都同時提供了可變和不可變的版本,分別位于以下兩個包 不可變集合:scala.collection.immutable 可變集合: scala.collection.mutable 3) Scala 不可變集合,就是指該

    2024年02月10日
    瀏覽(17)
  • 【Scala】集合

    【Scala】集合

    目錄 類型 不可變集合 可變集合 數(shù)組 不可變 可變數(shù)組 不可變數(shù)組與可變數(shù)組的轉(zhuǎn)換 多維數(shù)組 List list運算符 可變 ListBuffer Set 集合 不可變 Set 可變 mutable.Set Map 集合 可變 Map 元組 操作 通用操作 衍生集合操作 計算函數(shù) 排序 sorted sortBy sortWith 計算高級函數(shù) 實例 WordCount 案例

    2023年04月09日
    瀏覽(21)
  • Scala集合 - List

    水善利萬物而不爭,處眾人之所惡,故幾于道?? 一、不可變List ? 1. 創(chuàng)建List ? 2. 取指定的數(shù)據(jù) ? 3. 向List中添加元素 ? 4. 遍歷List ? 5. 集合間合并 - 扁平化處理 二、可變List ? 1. 創(chuàng)建可變集合對象 ? 2. 添加元素 ? 3. 修改元素 ? 4. 刪除元素 1. 創(chuàng)建List ??創(chuàng)建一個L

    2024年02月15日
    瀏覽(23)
  • Scala的隊列與并行集合

    在 Scala 中,隊列和并行集合是常用的數(shù)據(jù)結(jié)構(gòu)和并發(fā)編程工具。 Scala 提供了可變和不可變兩種隊列??勺冴犃型ㄟ^ scala.collection.mutable.Queue 類來實現(xiàn),而不可變隊列通過 scala.collection.immutable.Queue 類來實現(xiàn)。 可變隊列可以動態(tài)添加、移除和檢索元素,常用的方法包括 enqueue 和

    2024年02月10日
    瀏覽(17)
  • Scala集合常用函數(shù) - 初級計算函數(shù)

    水善利萬物而不爭,處眾人之所惡,故幾于道?? ??1. 求和 ??2. 求乘積 ??3. 最大值 ??4. 最小值 ??5. 排序 ? ??sorted ? ??sortBy() ? ??sortWith() 以List集合為例: 1. 求和 2. 求乘積 3. 最大值 4. 最小值 5. 排序 1. sorted ?對一個集合進行自然排序,通過傳遞隱式的

    2024年02月16日
    瀏覽(20)
  • Scala集合常用函數(shù) - 高級計算函數(shù)

    水善利萬物而不爭,處眾人之所惡,故幾于道?? ??1. 過濾 - filter ??2. 轉(zhuǎn)換/映射 - map ??3. 扁平化 - flatten ??4. 扁平化+映射 - flatMap ??5. 分組 - groupBy ??6. 簡化(規(guī)約) - reduce ??7. 折疊 - fold ??8. 函數(shù)小練習 1. 過濾 - filter ?遍歷一個集合并從中獲取滿足指定

    2024年02月17日
    瀏覽(21)
  • 大數(shù)據(jù)之Scala簡介

    學習Scala是因為Spark框架就是有Scala編寫的,想學習Spark,首先需要對Scala有一定的了解。 Scala的語言特點: Scala是一門以Java虛擬機(JVM)為運行環(huán)境并將面向?qū)ο蠛秃瘮?shù)式編程的最佳特性結(jié)合在一起的靜態(tài)類型編程語言(靜態(tài)語言需要提前編譯的如:Java、c、c++等,動態(tài)語言如

    2024年02月02日
    瀏覽(29)
  • 認識spark,Scala簡介

    認識spark,Scala簡介

    Spark是一種基于內(nèi)存的快速、通用、可擴展的大數(shù)據(jù)分析計算引擎。 是加州大學伯克利分校AMP實驗室(Algorithms, Machines, and People Lab)開發(fā)的通用內(nèi)存并行計算框架Spark得到了眾多大數(shù)據(jù)公司的支持,這些公司包括Hortonworks、IBM、Intel、Cloudera、MapR、Pivotal、百度、阿里、騰訊、京

    2024年03月20日
    瀏覽(19)
  • Scala簡介和安裝

    Scala簡介和安裝

    Scala是一種多范式的編程語言(多范式:多種編程方法的意思。有面向過程、面向?qū)ο蟆⒎盒?、函?shù)式四種程序設計方法),其設計的初衷是要集成面向?qū)ο缶幊毯秃瘮?shù)式編程的各種特性。Scala運行于Java平臺(Java虛擬機),并兼容現(xiàn)有的Java程序 官網(wǎng):https://www.scala-lang.org/

    2024年02月08日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包