分享

学习scala的笔记总结

不可替代 发表于 2018-4-3 08:43:34 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 3 5149
从今天起会不定时的在该区发贴关于自己学习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[String,Int] =
    new java.util.TreeMap[String,Int]

import scala.collection.JavaConversions.propertiesAsScalaMap
val props:scala.collections.Map[String,String] = 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))


已有(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
支持一下,感谢楼主分享,多多交流。

多交流
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条