v*****n 发帖数: 30 | 1 如题
guava的immutable collection在组合的时候,比如concatenation的时候都是
defensive copy,这和scala的immutable collection在组合的时候行为完全不一样,
我想这主要是因为java没有val,全都是var
java下有没有什么immutable collection能和scala的immutable collection行为一样
呢?谢谢 |
H****S 发帖数: 1359 | 2 你可以在java下调用Scala的collection。
【在 v*****n 的大作中提到】 : 如题 : guava的immutable collection在组合的时候,比如concatenation的时候都是 : defensive copy,这和scala的immutable collection在组合的时候行为完全不一样, : 我想这主要是因为java没有val,全都是var : java下有没有什么immutable collection能和scala的immutable collection行为一样 : 呢?谢谢
|
v*****n 发帖数: 30 | 3
能说说具体怎么调用么?或者给个链接
我大概搜索了一下,scala调用java的库挺容易的,但是反过来java调用scala的库似乎
有些麻烦
【在 H****S 的大作中提到】 : 你可以在java下调用Scala的collection。
|
H****S 发帖数: 1359 | 4 先创建一个Scala project,然后在里面创建一个.java文件进行编辑,然后直接调用
scala collection。如果你的函数需要用Java collection,用JavaConversions把
Scala collection转化过来。
【在 v*****n 的大作中提到】 : : 能说说具体怎么调用么?或者给个链接 : 我大概搜索了一下,scala调用java的库挺容易的,但是反过来java调用scala的库似乎 : 有些麻烦
|
n*****3 发帖数: 1584 | 5 抛砖引玉 一 下。
我以前 做的一 spark project, 要用 一 Java library/framwark, business
logic
都围绕 这 Java library 做的。 所以 我 就用 Java 先写个 单机版的,
然后 用Scala/spark call Java class/object
我那个project没有 同步 的问题, 所以 immutable or not is not an issue for me。
【在 H****S 的大作中提到】 : 先创建一个Scala project,然后在里面创建一个.java文件进行编辑,然后直接调用 : scala collection。如果你的函数需要用Java collection,用JavaConversions把 : Scala collection转化过来。
|
v*****n 发帖数: 30 | 6
现在问题是项目要用java project,要用java编译
我大概看了下,在java project里面用scala collection好像挺麻烦的,好像要用建个
scala class,里面要自己包装一下collection让它暴露一个java.util.List的接口出来
,然后再在java project里面用javaConversion把scala对象变成java对象。
不知道理解的对不对,我还没试,觉得这是一个比较麻烦的方案,后面debug估计还会
有各种坑
【在 H****S 的大作中提到】 : 先创建一个Scala project,然后在里面创建一个.java文件进行编辑,然后直接调用 : scala collection。如果你的函数需要用Java collection,用JavaConversions把 : Scala collection转化过来。
|
v*****n 发帖数: 30 | 7
me。
恩,我现在的问题就是java本身没有合适的像scala immutable collection一样的
persistent collection,我也打算把逻辑写到java里面,但是在reduce/group/
aggregate的时候如果是普通的immutable list会做defensive copy,因为我的对象都
是immutable的,所以这个copy完全没必要,我想避免它
【在 n*****3 的大作中提到】 : 抛砖引玉 一 下。 : 我以前 做的一 spark project, 要用 一 Java library/framwark, business : logic : 都围绕 这 Java library 做的。 所以 我 就用 Java 先写个 单机版的, : 然后 用Scala/spark call Java class/object : 我那个project没有 同步 的问题, 所以 immutable or not is not an issue for me。 :
|
v*****n 发帖数: 30 | 8
me。
恩,我现在的问题就是java本身没有合适的像scala immutable collection一样的
persistent collection,我也打算把逻辑写到java里面,但是在reduce/group/
aggregate的时候如果是普通的immutable list会做defensive copy,因为我的对象都
是immutable的,所以这个copy完全没必要,我想避免它
【在 n*****3 的大作中提到】 : 抛砖引玉 一 下。 : 我以前 做的一 spark project, 要用 一 Java library/framwark, business : logic : 都围绕 这 Java library 做的。 所以 我 就用 Java 先写个 单机版的, : 然后 用Scala/spark call Java class/object : 我那个project没有 同步 的问题, 所以 immutable or not is not an issue for me。 :
|