Open In App

Program to convert Java list to an iterator in Scala

Last Updated : 17 Jan, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

A java list can be converted to an iterator in Scala by utilizing toIterator method of Java in Scala. Here, we need to import Scala’s JavaConversions object in order to make this conversions work else an error will occur. Now, lets see some examples and then discuss how it works in details. Example:1# 

Scala




// Scala program to convert Java list
// to iterator in Scala
 
// Importing Scala's JavaConversions object
import scala.collection.JavaConversions._
 
 
// Creating object
object GfG
{
 
    // Main method
    def main(args:Array[String])
    {
     
        // Creating list in Java
        val list = new java.util.ArrayList[Int]()
         
        // Adding integers to the list
        list.add(5)
        list.add(6)
         
        // Converting list to an iterator
        val iter = list.toIterator
         
        // Displays output
        println(iter)
         
    }
}


Output:

non-empty iterator

Time Complexity :  O(1) because the only operation being performed is the creation of a new Java ArrayList and adding two elements to it, both of which are constant-time operations. The toIterator method also has a constant-time complexity because it simply returns an iterator over the elements of the list. 

Space complexity : O(1) because the only variables being used are a few integers and references to the Java ArrayList and iterator, which are all constant in size regardless of the input size.

Therefore, a non-empty iterator is returned. Here, firstly a list is created where, the int elements are added to it utilizing add method. After that toIterator method is utilized in order to convert the stated list to an iterator. 

Example:2# 

Scala




// Scala program to convert Java list
// to iterator in Scala
 
// Importing Scala's JavaConversions object
import scala.collection.JavaConversions._
 
 
// Creating object
object GfG
{
 
    // Main method
    def main(args:Array[String])
    {
     
        // Creating list in Java
        val list = new java.util.ArrayList[Int]()
         
        // Converting list to an iterator
        val iter = list.toIterator
         
        // Displays output
        println(iter)
     
    }
}


Output:

empty iterator

Time Complexity :  O(1) because the only operation being performed is the creation of a new Java ArrayList and the toIterator method, both of which are constant-time operations. The toIterator method also has a constant-time complexity because it simply returns an iterator over the elements of the list

Space Complexity : O(1) because the only variables being used are a reference to the Java ArrayList and iterator, which are both constant in size regardless of the input size.

It is same as above example but here an empty iterator is returned as here the stated list is empty.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads