AbstractSet toArray(T[]) method in Java with Example

The toArray(T[]) method method of AbstractSet class in Java is used to form an array of the same elements as that of the AbstractSet. It returns an array containing all of the elements in this AbstractSet in the correct order; the run-time type of the returned array is that of the specified array. If the AbstractSet fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the run time type of the specified array and the size of this AbstractSet.
If the AbstractSet fits in the specified array with room to spare (i.e., the array has more elements than the AbstractSet), the element in the array immediately following the end of the AbstractSet is set to null. (This is useful in determining the length of the AbstractSet only if the caller knows that the AbstractSet does not contain any null elements.)

Syntax:

public <T> T[] toArray(T[] a)

Parameters: The method accepts one parameter arr[] which is the array into which the elements of the AbstractSet are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.



Return Value: The method returns an array containing the elements similar to the AbstractSet.

Exception: The method might throw two types of exception:

  • ArrayStoreException: When the mentioned array is of the different type and is not able to compare with the elements mentioned in the AbstractSet.
  • NullPointerException: If the array is Null, then this exception is thrown.

Below program illustrates the working of the AbstractSet.toArray(arr[]) method.

Program 1: When array is of the size of AbstractSet

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code to illustrate toArray(arr[])
  
import java.util.*;
  
public class AbstractSetDemo {
    public static void main(String args[])
    {
        // Creating an empty AbstractSet
        AbstractSet<String>
            abs_col = new TreeSet<String>();
  
        // Use add() method to add
        // elements into the AbstractSet
        abs_col.add("Welcome");
        abs_col.add("To");
        abs_col.add("Geeks");
        abs_col.add("For");
        abs_col.add("Geeks");
  
        // Displaying the AbstractSet
        System.out.println("The AbstractSet: "
                           + abs_col);
  
        // Creating the array and using toArray()
        String[] arr = new String[5];
        arr = abs_col.toArray(arr);
  
        // Displaying arr
        System.out.println("The arr[] is:");
        for (int j = 0; j < arr.length; j++)
            System.out.println(arr[j]);
    }
}

chevron_right


Output:

The AbstractSet: [For, Geeks, To, Welcome]
The arr[] is:
For
Geeks
To
Welcome
null

Program 2: When array is less than the size of AbstractSet

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code to illustrate toArray(arr[])
  
import java.util.*;
  
public class AbstractSetDemo {
    public static void main(String args[])
    {
        // Creating an empty AbstractSet
        AbstractSet<String>
            abs_col = new TreeSet<String>();
  
        // Use add() method to add
        // elements into the AbstractSet
        abs_col.add("Welcome");
        abs_col.add("To");
        abs_col.add("Geeks");
        abs_col.add("For");
        abs_col.add("Geeks");
  
        // Displaying the AbstractSet
        System.out.println("The AbstractSet: "
                           + abs_col);
  
        // Creating the array and using toArray()
        String[] arr = new String[1];
        arr = abs_col.toArray(arr);
  
        // Displaying arr
        System.out.println("The arr[] is:");
        for (int j = 0; j < arr.length; j++)
            System.out.println(arr[j]);
    }
}

chevron_right


Output:

The AbstractSet: [For, Geeks, To, Welcome]
The arr[] is:
For
Geeks
To
Welcome

Program 3: When array is more than the size of AbstractSet

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code to illustrate toArray(arr[])
  
import java.util.*;
  
public class AbstractSetDemo {
    public static void main(String args[])
    {
        // Creating an empty AbstractSet
        AbstractSet<String>
            abs_col = new TreeSet<String>();
  
        // Use add() method to add
        // elements into the AbstractSet
        abs_col.add("Welcome");
        abs_col.add("To");
        abs_col.add("Geeks");
        abs_col.add("For");
        abs_col.add("Geeks");
  
        // Displaying the AbstractSet
        System.out.println("The AbstractSet: "
                           + abs_col);
  
        // Creating the array and using toArray()
        String[] arr = new String[10];
        arr = abs_col.toArray(arr);
  
        // Displaying arr
        System.out.println("The arr[] is:");
        for (int j = 0; j < arr.length; j++)
            System.out.println(arr[j]);
    }
}

chevron_right


Output:

The AbstractSet: [For, Geeks, To, Welcome]
The arr[] is:
For
Geeks
To
Welcome
null
null
null
null
null
null

Program 4: To demonstrate NullPointerException

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code to illustrate toArray(arr[])
  
import java.util.*;
  
public class AbstractSetDemo {
    public static void main(String args[])
    {
        // Creating an empty AbstractSet
        AbstractSet<String>
            abs_col = new TreeSet<String>();
  
        // Use add() method to add
        // elements into the AbstractSet
        abs_col.add("Welcome");
        abs_col.add("To");
        abs_col.add("Geeks");
        abs_col.add("For");
        abs_col.add("Geeks");
  
        // Displaying the AbstractSet
        System.out.println("The AbstractSet: "
                           + abs_col);
  
        try {
            // Creating the array
            String[] arr = null;
            // using toArray()
            // Since arr is null
            // Hence exception will be thrown
            arr = abs_col.toArray(arr);
  
            // Displaying arr
            System.out.println("The arr[] is:");
            for (int j = 0; j < arr.length; j++)
                System.out.println(arr[j]);
        }
        catch (Exception e) {
            System.out.println("Exception: " + e);
        }
    }
}

chevron_right


Output:

The AbstractSet: [For, Geeks, To, Welcome]
Exception: java.lang.NullPointerException


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.