一、时间戳
val now = new Date()
def getCurrent_time():Long = {
val a = now.getTime
var str = a+""
str.toLong
}
二、scala中的list
List不能添加元素是为了保持immutable,函数式编程语言中的List基本都是这么设计的。
如果需要能添加元素的list,可以用ListBuffer
一方面函数式编程的风格就是不可变性:如果你用过Haskell就知道,里面的一切都是不可变的。
另一方面为了并行、多线程,一个集合是不可变的就保证了它可以安全的被多个线程共享。一个mutable的集合如何在多个线程之间安全操作是一个非常烦人的事情。immutable就没这个问题了。
三、array和list的使用
1、使用
http://blog.youkuaiyun.com/lovehuangjiaju/article/details/46963721
https://wizardforcel.gitbooks.io/w3school-scala/content/15.html
2、list的排序
sortBy(f⇒(f._3))(Ordering.Double.reverse)
其中Ordering.Double.reverse用来降序
如何对Scala中集合(Collections)进行排序
https://www.iteblog.com/archives/1171.html
四、具体的可变容器类
Array Buffers、List Buffers、StringBuilders、链表、队列等
https://docs.scala-lang.org/zh-cn/overviews/collections/concrete-mutable-collection-classes.html
五、scala中map和foreach的区别
http://blog.youkuaiyun.com/qq_26398033/article/details/52472476
六、map与flatMap的区别
flatMap会把结果做扁平化
val resultListSort=resultListBuf.toList.flatMap(f⇒f).sortBy(f⇒(f._3))(Ordering.Double.reverse)
toList之后得到 List[Array[(String, String, Double)]]
sortBy的时候就是(String, String, Double)
七、scala异常处理
http://outofmemory.cn/scala/scala-exception-handle-try-catch-finally
八、数组
args(0)
九、classOf[Neo4jConnector]
十、Scala对象比较==、eq、ne与java==、equals()
https://my.oschina.net/hanzhankang/blog/200295
http://www.jianshu.com/p/7b2b19d2fe7d
十一、toIterator和iterator
这俩有时候返回的是一个,有时候不是,
对于list,返回的是IterableLike
对于array,iterator返回的是IndexedSeqLike;toIterator返回的是IterableLike,其中IndexedSeqLike是IterableLike的子类,所以用iterator
十二、map
定义 Map 时,需要为键值对定义类型。如果需要添加 key-value 对,可以使用 + 号,如下所示:
A += ('I' -> 1)
A += ('J' -> 5)
A += ('K' -> 10)
A += ('L' -> 100)
http://www.runoob.com/scala/scala-maps.html
十三、scala.collection.mutable.ArrayBuffer
和java中的ArrayList等价
十四、元组 Tuple
十五、scalal list to java list
import scala.collection.JavaConverters._
list.asJava
本文深入探讨Scala的使用,重点讲解了不可变性在函数式编程中的重要性,特别是在List和Array的使用中。介绍了ListBuffer作为可变替代方案,以及Array与List的操作,包括排序和特定容器类的使用。此外,还涵盖了Map、flatMap的区别,异常处理,对象比较以及Scala与Java集合之间的转换等关键概念。
1100

被折叠的 条评论
为什么被折叠?



