zoukankan      html  css  js  c++  java
  • Scala 学习笔记之集合(1)

     1 package com.citi.scala
     2 
     3 object CollectionDemo {
     4   def main(args: Array[String]): Unit = {
     5 
     6     /**
     7      * List
     8      */
     9     println("--------------------------List-------------------------")
    10     val numbers = List[Int](11, 22, 33, 44, 55)
    11     val numbers1 = List(11, 22, 33, 44, 55)
    12     val colors = List[String]("red", "green", "blue")
    13     println(s"colors has ${colors.size}, $colors")
    14     //取第一个
    15     println(colors.head)
    16     //去掉第一个,取剩下的
    17     println(colors.tail)
    18     //取第二个
    19     println(colors(1))
    20     //遍历
    21     for (s <- colors) { println(s) }
    22     //高阶函数使用
    23     colors.foreach { (s: String) => println(s) }
    24     colors.foreach { s => println(s) }
    25     colors.foreach { println(_) }
    26     val elSize = colors.map((s: String) => s.size)
    27     println(elSize)
    28     println(numbers.reduce((a: Int, b: Int) => a + b))
    29     //初始化空List
    30     val ls: List[Int] = List[Int]()
    31     val lls: List[Int] = Nil
    32     println(ls == lls)
    33     //遍历
    34     var i = numbers
    35     while (!i.isEmpty) {
    36       println(i.head)
    37       i = i.tail
    38     }
    39 
    40     i = numbers
    41     while (i != Nil) {
    42       println(i.head)
    43       i = i.tail
    44     }
    45     //cons操作符
    46     val consNumbers = 3 :: 2 :: 1 :: Nil
    47     println(consNumbers)
    48 
    49     //List的算数运算
    50     println(3 :: 2 :: 1 :: Nil)
    51     println(List(7, 6, 5) ::: List(4, 3, 2, 1))
    52     println(List(4, 3, 2, 1) ++ List(7, 6, 5))
    53     println(List(1, 2) == List(2, 1))
    54     println(List(2, 1) == List(2, 1))
    55     println(List(1, 2, 3, 2, 1).distinct)
    56     println(List(1, 2, 3, 2, 1) drop (2))
    57     println(List(4, 3, 2, 1) filter { _ >= 3 })
    58     println(List(List(1, 2, 3), List(4, 5, 6)).flatten)
    59 
    60     println((List(1, 2, 3, 4, 5).partition(_ >= 3)))
    61     println(List(1, 2, 3, 4, 5) reverse)
    62     println(List(2, 3, 5, 7, 10, 11) slice (1, 4))
    63     println(List("apple", "ben") sortBy { s => s.size })
    64     println(List(2, 3, 5, 7, 10, 11) splitAt (3))
    65     println(List(2, 3, 5, 7, 10, 11) take (3))
    66     println(List(1, 2, 3) zip List("a", "b"))
    67     println(List(1, 2) :+ 3)
    68 
    69     /**
    70      * Set
    71      */
    72     println("--------------------------Set-------------------------")
    73     val numbersets = Set[Int](11, 22, 11, 33, 44, 55)
    74     println(s"numbersets has ${numbersets.size}, $numbersets")
    75     println(numbersets.reduce((a: Int, b: Int) => a + b))
    76     /**
    77      * Map
    78      */
    79     println("--------------------------Map-------------------------")
    80     val colorMap = Map[String, Int]("red" -> 1, "green" -> 2, "yellow" -> 3)
    81     println(colorMap("red"))
    82     for (pair <- colorMap) { println(pair) }
    83 
    84   }
    85 }

    运行结果:

    --------------------------List-------------------------
    colors has 3, List(red, green, blue)
    red
    List(green, blue)
    green
    red
    green
    blue
    red
    green
    blue
    red
    green
    blue
    red
    green
    blue
    List(3, 5, 4)
    165
    true
    11
    22
    33
    44
    55
    11
    22
    33
    44
    55
    List(3, 2, 1)
    List(3, 2, 1)
    List(7, 6, 5, 4, 3, 2, 1)
    List(4, 3, 2, 1, 7, 6, 5)
    false
    true
    List(1, 2, 3)
    List(3, 2, 1)
    List(4, 3)
    List(1, 2, 3, 4, 5, 6)
    (List(3, 4, 5),List(1, 2))
    List(5, 4, 3, 2, 1)
    List(3, 5, 7)
    List(ben, apple)
    (List(2, 3, 5),List(7, 10, 11))
    List(2, 3, 5)
    List((1,a), (2,b))
    List(1, 2, 3)
    --------------------------Set-------------------------
    numbersets has 5, Set(33, 22, 44, 11, 55)
    165
    --------------------------Map-------------------------
    1
    (red,1)
    (green,2)
    (yellow,3)

  • 相关阅读:
    pktgen使用指南
    常见的网卡调优
    网络PPS测试
    网络性能测试工具qperf
    设置虚拟机静态IP
    superset填坑
    js格式化
    《你不知道的JavaScript》读书笔记(一):JS是如何查找变量的
    技术分享PPT整理(三):网页渲染流程
    技术分享PPT整理(二):C#常用类型与数据结构
  • 原文地址:https://www.cnblogs.com/AK47Sonic/p/7073855.html
Copyright © 2011-2022 走看看