scala list addall方法

时间:2016-03-03 08:44:10

标签: list scala

这是我的java代码,

  public void test( List<Map> courses)
    {
    ....

    List<Map> data = (List<Map>) response.getBody();
    courses.addAll(data);

    pageNo = pagination(response.getHeaders());
     if(pageNo!=null) 
     {
            params.put("pageNo", pageNo);
            pAccountCourses(params, courses);
      }
    }

如何将其转换为scala列表[AccountCourses],以便我可以将 courseList 添加到 accountCourseslist

def test(courseList: java.util.ArrayList[AccountCourses]) {
......
//getting json data
var pageNo: String = null
val body = response.body
val json = parse(body)

var accountCourseslist = json.extract[java.util.ArrayList[AccountCourses]]
    accountCourseslist.addAll(courseList)

 if (pageNo != null) {
            params.put("pageNo", pageNo);
            test(accountCourseslist);
          }
}

case class AccountCourses(id: Int) //case class

如何在scala中执行list的addAll操作?

1 个答案:

答案 0 :(得分:1)

  1. 如何将java.util.ArrayList[AccountCourses]转换为scala列表?

    使用scala.collection.JavaConverters._

    import scala.collection.JavaConverters._
    val javaList = new java.util.ArrayList[Int]()
    val scalaList = javaList.asScala
    val scalaImmutableList = scalaList.toList // will return immutable copy
    
  2. 如何在scala中执行list的addAll操作?

    如果它是可变集合,则使用++=或在不可变列表中使用++

    scalaList ++= List(1,2,3,4,5) // will also update javaList
    val result = scalaImmutableList ++ List(1,2,3,4,5) // will return new copy