如何使用Scala迭代Pair的列表?

10 浏览
0 Comments

如何使用Scala迭代Pair的列表?

我想迭代一个Pair对象的列表,但遇到了一些问题。如下所示的变量:

val list: JList[Pair[Integer, Integer]]
for (pair <- list){
    //如何获取pair实例的第一个值和第二个值
}

当我使用for<-进行迭代时,无法获取Pair实例,也无法获取Pair的属性。

0
0 Comments

问题的原因:

在这个问题中,假设JList是java swing组件。如果是这样,那么据我所知,你无法直接在for循环中使用它。相反,你需要做一些类似下面的事情:

解决方法:

import scala.collection.JavaConversions._
for (pair <- list.getSelectedValuesList) {
  //do something with pair 
}

这个导入语句引入了将Java集合转换为Scala集合的隐式转换。你需要这个是因为你使用的for循环被解析为foreach方法调用,而java.util.List没有定义foreach方法。

0
0 Comments

问题的原因:有一个需要遍历的Pair列表,需要找到一个方法来迭代这个列表。

解决方法:使用Scala的JavaConverters库来将Java的列表转换为Scala的列表,并使用for循环来遍历这个转换后的列表。以下是解决方法的示例代码:

import scala.collection.JavaConverters._
for (pair <- list.asScala.getSelectedValuesList) {
  //对pair进行操作
}

这样就可以通过for循环来迭代Pair列表了。

0