StringBuilder in Scala

A String object is immutable, i.e. a String cannot be changed once created. In situations where you need to perform repeated modifications to a string, we need StringBuilder class. StringBuilder is utilized to append input data to the internal buffer. We can perform numerous operations with the support of methods on the StringBuilder. This operation comprises appending data, inserting data, and removing data.
important points:

  • The StringBuilder class is beneficent for mutable strings to extend effectively.
  • The instance of StringBuilder is utilized like a String.
  • Strings of Scala are immutable so, when you require a mutable String then you can use StringBuilder.
Operations performed by the StringBuilder class
  • Appending character: This operation is helpful in appending character.
    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Scala program to append
    // a character
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating StringBuilder 
            val x = new StringBuilder("Author");
      
            // Appending character 
            val y = (x += 's')
      
            // Displays the string after 
            // appending the character 
            println(y)
        }
    }

    chevron_right

    
    

    Output:



    Authors
    

    Here, (x += ‘ ‘) is utilized to append a character.

  • Appending String: This operation is helpful in appending string.
    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Scala program to append
    // a String
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating StringBuilder 
            val x = new StringBuilder("Authors");
      
            // Appending String 
            val y = (x ++= " of GeeksforGeeks")
      
            // Displays the string after 
            // appending the string 
            println(y)
      
        }
    }

    chevron_right

    
    

    Output:

    Authors of GeeksforGeeks
    

    Here, (x ++= ‘ ‘) is utilized to append String.

  • Appending String representation of number: Here, the number can be of any type like Integer, Double, Long, Float, etc.
    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Scala program to append
    // String representation 
    // of number
      
    // Creating object 
    object num
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating StringBuilder 
            val x = new StringBuilder("Number of Contributors : ");
      
            // Appending String 
            // representation of number 
            val y = x.append(800)
      
            // Displays the string after 
            // appending the number
            println(y)
        }
    }

    chevron_right

    
    

    Output:

    Number of Contributors : 800
    

    Here, x.append(n) is utilized to append the String representation of the number, where ‘n’ is the number of any type.

  • Resetting the content of the StringBuilder: It is helpful in resetting the content by making it empty.
    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Scala program to reset 
    // the content
      
    // Creating object 
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating StringBuilder 
            val x = new StringBuilder("Hello")
      
            // Resetting the content 
            val y = x.clear() 
      
            // Displays empty content
            println(y)
        }
    }

    chevron_right

    
    

    Output:

    ()
    

    Here, x.clear() is utilized to clear the content of the StringBuilder.

  • Delete operation: This operation is helpful in deleting characters from the content of the StringBuilder.
    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Scala program to perform 
    // delete operation
      
    // Creating object 
    object delete
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating StringBuilder 
            val q = new StringBuilder("Computer Science")
      
            // Deleting characters 
            val r = q.delete(1, 3
      
            // Displaying string after 
            // deleting some characters
            println(r)
        }
    }

    chevron_right

    
    

    Output:

    Cputer Science
    

    Here, q.delete(i, j) is utilized to delete the character indexed from i to (j – 1).

  • Insertion operation: This operation is helpful in inserting Strings.
    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Scala program to perform 
    // insertion operation
      
    // Creating object 
    object insert
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating StringBuilder 
            val q = new StringBuilder("GfG CS portal")
      
            // inserting strings 
            val r = q.insert(4, "is a "
      
            // Displays string after 
            // insertion of required 
            // string
            println(r)
        }
    }

    chevron_right

    
    

    Output:

    GfG is a CS portal
    

    Here, q.insert(i, “s”) is utilized to insert the String (s) at index i.

  • Converting StringBuilder to a String: StringBuilder can be converted to a String using this operation.
    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // Scala program of Converting 
    // StringBuilder to a String
      
    // Creating object 
    object builder
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Creating StringBuilder 
            val q = new StringBuilder("GeeksforGeeks")
      
            // Applying conversion 
            // operation 
            val r = q.toString
      
            // Displays String
            println(r)
        }
    }

    chevron_right

    
    

    Output:

    GeeksforGeeks
    

    Here, q.toString is utilized to convert StringBuilder to a string.



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.