scala 使用

一、时间戳

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.csdn.net/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.csdn.net/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)