美文网首页
Java 和 Scala 集合转换

Java 和 Scala 集合转换

作者: Wille_Li | 来源:发表于2018-01-22 16:05 被阅读0次

    最近在用Java写Spark程序遇到一个问题。
    (用Java 写比较恶心~)

    data.groupBy() 在Java里面不支持传入Java集合(), 只支持scala.collect.Seq

    所以要把 Java 的List 转换成 Scala 的Seq, 官方是没有直接转换的API的。

    以下为官方可直接转换列表(单向 =>, 双向<=>):

    scala.collection.Iterable <=> .java.lang.Iterable
    
    scala.collection.Iterable <=> java.util.Collection
    
    scala.collection.Iterator <=> java.util.{ Iterator, Enumeration }
    
    scala.collection.mutable.Buffer <=> java.util.List
    
    scala.collection.mutable.Set <=> java.util.Set
    
    scala.collection.mutable.Map <=> java.util.{ Map, Dictionary }
    
    scala.collection.mutable.ConcurrentMap <=> java.util.concurrent.ConcurrentMap
    
    scala.collection.Seq         => java.util.List
    
    scala.collection.mutable.Seq => java.util.List
    
    scala.collection.Set         => java.util.Set
    
    scala.collection.Map         => java.util.Map
    
    java.util.Properties         => scala.collection.mutable.Map[String, String]
    

    Java List 转 Scala Seq 方法:
    Java List => Java Set => Scala Set => Scala Seq
    具体代码:

        private Seq<String> javaListToScalaSeq(List<String> list){
            Set<String> javaSet= new HashSet<>();
            for(String info: list) {
                javaSet.add(info);
            }
            scala.collection.Set<String> scalaSet = JavaConversions.asScalaSet(javaSet);
            return scalaSet.toSeq();
        }
    

    转换列表转自:
    http://blog.csdn.net/ainidong2005/article/details/53121193

    相关文章

      网友评论

          本文标题:Java 和 Scala 集合转换

          本文链接:https://www.haomeiwen.com/subject/abolaxtx.html