zoukankan      html  css  js  c++  java
  • 寒假学习记录第五天

    list

    1. 创建list

    val list = List(1,2,3,4)

    • Nil长度为0list
    1. list遍历

    foreach for

    1. list方法举例
    • filter:过滤元素
    • count:计算符合条件的元素个数
    • map:对元素操作
    • flatmap :压扁扁平,mapflat

        //创建

        val list = List(1,2,3,4,5)

        

        //遍历

        list.foreach { x => println(x)}

    //    list.foreach { println}

        //filter

        val list1  = list.filter { x => x>3 }

        list1.foreach { println}

        

        //count

        val value = list1.count { x => x>3 }

        println(value)

        

        //map

        val nameList = List(

         "hello bjsxt",

         "hello xasxt",

         "hello shsxt"

            )

        val mapResult:List[Array[String]] = nameList.map{ x => x.split(" ") }

        mapResult.foreach{println}    

        

        //flatmap

        val flatMapResult : List[String] = nameList.flatMap{ x => x.split(" ") }

        flatMapResult.foreach { println }

    1. list方法总结
     
    1. 可变长List

    /**
      * 可变长list
      */
    val listBuffer: ListBuffer[Int] = ListBuffer[Int](1,2,3,4,5)
    listBuffer.append(6,7,8,9)//追加元素
    listBuffer.+=(10)//在后面追加元素
    listBuffer.+=:(100)//在开头加入元素
    listBuffer.foreach(println)

     

    set

    1. 创建set

    注意:set集合会自动去重

    1. set遍历

    foreachfor

    1. set方法举例
    • 交集:intersect ,&
    • 差集: diff ,&~
    • 子集:subsetOf
    • 最大:max
    • 最小:min
    • 转成数组,toList
    • 转成字符串:mkString(“~”)
    1. set方法总结

        //创建

        val set1 = Set(1,2,3,4,4)

        val set2 = Set(1,2,5)

        //遍历

        //注意:set会自动去重

        set1.foreach { println}

       for(s <- set1){

          println(s)

        }

        println("*******")

       /**

        * 方法举例

        */

        

       //交集

       val set3 = set1.intersect(set2)

       set3.foreach{println}

       val set4 = set1.&(set2)

       set4.foreach{println}

       println("*******")

       //差集

       set1.diff(set2).foreach { println }

       set1.&~(set2).foreach { println }

       //子集

       set1.subsetOf(set2)

       

       //最大值

       println(set1.max)

       //最小值

       println(set1.min)

       println("****")

       

       //转成数组,list

       set1.toArray.foreach{println}

       println("****")

       set1.toList.foreach{println}

       

       //mkString

       println(set1.mkString)

       println(set1.mkString(" "))

         

    set方法总结

     
    1. 可变长set

    /**
      * 可变长Set
      */
    import scala.collection.mutable.Set
    val set = Set[Int](1,2,3,4,5)
    set.add(100)
    set.+=(200)
    set.+=(1,210,300)
    set.foreach(println)

     

    map

    1. map创建
    • Map1 –>”bjsxt’)
    • Map((1,”bjsxt”))

    注意:创建map时,相同的key被后面的相同的key顶替掉,只保留一个

        val map = Map(

          "1" -> "bjsxt",

          2 -> "shsxt",

          (3,"xasxt")

        )

     

    1. 获取map的值
    • map.get(“1”).get
    • map.get(100).getOrElse(“no value”):如果map中没有对应项,赋值为getOrElse传的值。

        //获取值

        println(map.get("1").get)

        val result = map.get(8).getOrElse("no value")

        println(result)

    1. 遍历map
    • for,foreach

        //map遍历

        for(x <- map){

          println("====key:"+x._1+",value:"+x._2)

        }

        map.foreach(f => {

          println("key:"+ f._1+" ,value:"+f._2)

        })

    1. 遍历key
    • map.keys

        //遍历key

        val keyIterable = map.keys

        keyIterable.foreach { key => {

          println("key:"+key+", value:"+map.get(key).get)

        } }

        println("---------")

        

    1. 遍历value
    • map.values

        //遍历value

        val valueIterable = map.values

        valueIterable.foreach { value => {

          println("value: "+ value)

        } }

        

    1. 合并map
    • ++  例:map1.++(map2)  --map1中加入map2
    • ++:  例:map1.++:(map2) –map2中加入map1

    注意:合并map会将map中的相同keyvalue替换

        //合并map

        val map1 = Map(

          (1,"a"),    

          (2,"b"),    

          (3,"c")    

        )

        val map2 = Map(

          (1,"aa"),

          (2,"bb"),

          (2,90),

          (4,22),

          (4,"dd")

        )

        map1.++:(map2).foreach(println)

        

    1. map中的方法举例
    • filter:过滤,留下符合条件的记录
    • count:统计符合条件的记录数
    • containsmap中是否包含某个key
    • exist:符合条件的记录存在不存在

        /**

         * map方法

         */

        //count

        val countResult  = map.count(p => {

          p._2.equals("shsxt")

        })

        println(countResult)

        

        //filter

        map.filter(_._2.equals("shsxt")).foreach(println)

        

        //contains

        println(map.contains(2))

       

        //exist

        println(map.exists(f =>{

          f._2.equals("xasxt")

          

        }))

        

    Map方法总结

     
    1. 可变长map

    /**
      * 可变长Map
      */
    import scala.collection.mutable.Map
    val map = Map[String,Int]()
    map.put("hello",100)
    map.put("world",200)
    map.foreach(println)

  • 相关阅读:
    CSDNReader(android客户端)发布!!
    linux下的C语言快速学习—从1+1开始。
    linux下的C语言快速学习—进程和文件
    ListView动态加载数据分页(使用Handler+线程和AsyncTask两种方法)
    CSDN阅读器(android版)开发总结
    算法实现将一个输入的数字颠倒(输入12345>54321)
    linux下的C语言快速学习—计算机体系结构基础简单了解
    实现一个字符串查找子串的函数
    .net4.0面向对象学习笔记—数据类型
    装饰器模式
  • 原文地址:https://www.cnblogs.com/xuange1/p/12260958.html
Copyright © 2011-2022 走看看