不可替代 发表于 2018-4-3 08:43:34

学习scala的笔记总结

从今天起会不定时的在该区发贴关于自己学习scala的笔记总结(同时同步更新在自己的博客)

从入门到精通的开始

学习总结:
1、映射是最灵活多变的数据结构之一
2、通常的函数计算值、映射只做查询
3、scala中的if...else简写.getOrElse
4、+=操作添加多个关系
5、-= 移除某个键对应的值
6、而从不可变的映射中移除某个键,用-操作、
   但是获得的是一个移除键后的新的映射、而
   老旧映射是共享大部分结构的
7、for循环中使用模式匹配
   for((k,v) <- 映射) 处理k,v
   for循环中使用Iterable
8、反转映射:
    for((k,v) <- 映射) yield (v,k)
9、排序映射:
   scala.collections.immutable.SortedMap
   顺序访问LinkHashMap
   scala.collection.mutable.LinkedHashMap
10、与java的转换
    scala .collection.JavaConversions.mapAsScalaMap
   
val scores: scala.collecction.mutable.Map =
    new java.util.TreeMap

import scala.collection.JavaConversions.propertiesAsScalaMap
val props:scala.collections.Map = System.getProperties()

相反、把scala转化为java映射
import scala.collection.JavaConversions.mapAsJavaMap
import java.awt.font.TextAttribute 引入下面映射会用的键

val attrs = Map(FA -> "Jon",Size -> 12)
val font = new java.awt.Font(attrs) 该方法预期一个java映射

11、元祖:对偶是简单的元祖,元祖是不通类型的值的聚集,访问类型
    _1,_2
    在不需要的部位使用_ 如:
    val (first,second,_) = t

元祖用于函数需要返回不止一个值的情况,如StringOps 的partition方法,返回的是一对字符串

   "New York" .partition(._isUpper) //输出对偶("NY","ew ork")


12、拉链Zip操作
    keys   (a,b,c)
    values (1,2,3)    //keys.zip(values) = ((a,1),(b,2),(c,3))


walykyy 发表于 2018-4-3 18:41:03

支持,努力,我也打算学Scala了

yunge2016 发表于 2018-4-4 11:08:46

支持一下,感谢楼主分享,多多交流。

不可替代 发表于 2018-4-4 20:43:19

yunge2016 发表于 2018-4-4 11:08
支持一下,感谢楼主分享,多多交流。

多交流
页: [1]
查看完整版本: 学习scala的笔记总结