簡體   English   中英

如何迭代與Scala配對的列表?

[英]How to iterate a list of Pair with Scala?

我想迭代Pair對象的列表,但是有一些問題。 如下變量:

val list: JList[Pair[Integer, Integer]]
for (pair <- list){
    //how to get first value and second value of pair instance
}

當我使用for<-迭代,我不能Pair實例,並不能得到的性能Pair

我假設JList是Java swing組件。 如果真是這樣,那么就我所知,您不能直接在理解中使用它。 相反,您需要執行以下操作:

import scala.collection.JavaConversions._

for (pair <- list.getSelectedValuesList) {
  //do something with pair 
}

導入將提取隱式內容,這些隱式內容將從Java集合轉換為Scala集合。 之所以需要它,是因為您所使用的理解不適合foreach方法調用,並且java.util.List沒有定義foreach方法。

增加傑森的答案。 通常建議使用JavaConverters而不是JavaConversions以避免討厭的問題 它有點冗長,但更安全。

解決方案將是這樣的:

import scala.collection.JavaConverters._

for (pair <- list.asScala.getSelectedValuesList) {
  //do something with pair 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM