Scala 将Java列表转换为Scala迭代器的程序

Scala 将Java列表转换为Scala迭代器的程序

可以通过利用Scala中Java中的 toIterator 方法,将Java列表转换为Scala迭代器。在此处,我们需要导入Scala的 JavaConversions 对象以使此转换工作,否则会发生错误。现在,让我们看一些例子,然后详细讨论它的工作原理。

例子:1 #

//Scala程序,转换Java列表
//Scala中的迭代器
 
//导入Scala的JavaConversions对象
import scala.collection.JavaConversions._
 
 
//创建对象
object GfG
{
 
    // 主要的方法
    def main(args:Array[String])
    {
     
        //在Java中创建列表
        val list = new java.util.ArrayList[Int]()
         
        //向列表中添加整数
        list.add(5)
        list.add(6)
         
        //将列表转换为一个迭代器
        val iter = list.toIterator
         
        //显示输出
        println(iter)
         
    }
}  

输出:

非空的迭代器

时间复杂度:O(1) 因为唯一执行的操作是创建一个新的Java ArrayList并向其中添加两个元素,这两个元素都是常量时间操作。 toIterator方法的复杂度也是常量时间,因为它只是返回列表元素的迭代器。

空间复杂度:O(1) 因为仅使用少量整数和对Java ArrayList和迭代器的引用,无论输入大小如何,它们的大小都是常量。

因此,返回一个非空的迭代器。首先创建一个列表,然后利用add方法添加int元素。然后使用toIterator方法将所述列表转换为迭代器。

示例:2#

// Scala程序,将Java列表转换为Scala中的迭代器
 
// 导入Scala的JavaConversions对象
import scala.collection.JavaConversions._
 
 
// 创建对象
object GfG
{
 
    // 主要方法
    def main(args:Array[String])
    {
     
        // 在Java中创建列表
        val list = new java.util.ArrayList[Int]()
         
        // 将列表转换为迭代器
        val iter = list.toIterator
         
        //显示输出
        println(iter)
     
    }
}  

输出:

空的迭代器

时间复杂度:O(1) 因为唯一执行的操作是创建一个新的Java ArrayList和toIterator方法,这两个操作都是常量时间的。 toIterator方法的复杂度也是常量时间,因为它只是返回列表元素的迭代器

空间复杂度:O(1) 因为仅使用指向Java ArrayList和迭代器的引用,无论输入大小如何,它们都是恒定的大小。

与上面的示例相同,但这里返回一个空的迭代器,因为该列表为空。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Scala 示例