寒假学习记录第四天

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("\t"))

     

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)

你可能感兴趣的:(寒假学习记录第四天)