Scala | Methods to Call Option

The Option in Scala is referred to a carrier of single or no element for a stated type. When a method returns a value which can even be null then Option is utilized i.e, the method defined returns an instance of an Option, in place of returning a single object or a null.
There are a few methods that we can Call on Scala Option.

  • def get: A
    This method is utilized to return an Option’s value.
    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Scala program of using
    // get method
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(20)
          
            // Applying get method
            val x = some.get
      
            // Displays the value 
            println(x)
        }
    }

    chevron_right

    
    

    Output:



    20
    

    Here, get method cannot be applied to the None class as it will show an exception.

  • def productArity: Int
    This method is utilized to return the size of the Option’s value.
    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Scala program of returning 
    // the size of the value
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(20)
          
            // Applying productArity
            // method
            val x = some.productArity
      
            // Displays the size of
            // the Option's value
            println(x)
        }
    }

    chevron_right

    
    

    Output:

    1
    
  • def productElement(n: Int): Any
    This method is utilized to return the n-th element of the stated product and here indexing starts from zero.
    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Scala program of returning 
    // the n-th element of the
    // product
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(20)
      
            // Applying productElement
            // method
            val x = some.productElement(0)
      
            // Displays the element
            println(x)
        }
    }

    chevron_right

    
    

    Output:

    20
    

    Here, None will show an exception.

  • def exists(p: (A) => Boolean): Boolean
    When the value of the Option satisfies the stated condition then, this method returns true else returns false.
    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Scala program of the method
    // 'exists'
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(30)
      
            // Applying exists method
            val x = some.exists(y => {y % 3 == 0})
      
            // Displays true if the condition
            // given is satisfied else false 
            println(x)
        }
    }

    chevron_right

    
    

    Output:

    true
    

    Here, the condition stated is satisfied so, true is returned.

  • def filter(p: (A) => Boolean): Option[A]
    This method is utilized to return the value of the Option if the stated condition is satisfied.
    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Scala program of the method
    // 'filter'
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(30)
      
            // Applying filter method
            val x = some.filter(y => {y % 3 == 0})
      
            // Displays the value of the
            // option if the predicate 
            // is satisfied
            println(x)
        }
    }

    chevron_right

    
    

    Output:

    Some(30)
    

    Here, the condition is satisfied so, the Option value is returned and returns None if the predicate is not satisfied.

  • def filterNot(p: (A) => Boolean): Option[A]
    This method will return the Option value if the stated condition is not satisfied.
    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Scala program of the method
    // 'filterNot'
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(30)
      
            // Applying filterNot method
            val x = some.filterNot(y => {y % 3 != 0})
      
            // Displays the value of the
            // option if the predicate 
            // is not satisfied
            println(x)
        }
    }

    chevron_right

    
    

    Output:


    Some(30)
    

    Here, the condition is not satisfied so, the Option value is returned and returns None if the predicate is satisfied.

  • def isDefined: Boolean
    This method returns true if the Option is an instance of Some and returns false if the Option is an instance of None.
    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Scala program of the method
    // 'isDefined'
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(30)
      
            // using None class
            val none:Option[Int] = None
      
            // Applying isDefined method
            val x = some.isDefined
            val y = none.isDefined
      
            // Displays true for Some
            // and false for None
            println(x)
            println(y)
        }
    }

    chevron_right

    
    

    Output:

    true
    false
    
  • def iterator: Iterator[A]
    This method returns an iterator on the Option given.
    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Scala program of the method
    // 'iterator'
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(30)
          
            // Applying iterator method
            val x = some.iterator
      
            // Displays an iterator
            println(x)
        }
    }

    chevron_right

    
    

    Output:

    non-empty iterator
    
  • def map[B](f: (A) => B): Option[B]
    This method will return the value of the function stated in the Map, if the Option has a value.
    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Scala program of the method
    // 'map'
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(30)
      
            // Applying Map method
            val x = some.map(y => {y + y})
      
            // Displays the value returned
            // by the function in map
            println(x)
        }
    }

    chevron_right

    
    

    Output:

    Some(60)
    

    These were the methods to call on an Option and there are more such methods.

  • def orElse[B >: A](alternative: => Option[B]): Option[B]
    If the Option contain a value, this returns it. Otherwise, this method evaluates the alternative and returns alternative.
     
  • def orNull
    This method will return Null, if the Option didn’t contain a value.


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.