TreeSet toArray (T []) в Java с примером

Опубликовано: 9 Февраля, 2022

Метод метода toArray (T []) класса TreeSet в Java используется для формирования массива тех же элементов, что и у TreeSet. Он возвращает массив, содержащий все элементы в этом TreeSet в правильном порядке; тип времени выполнения возвращаемого массива - это тип указанного массива. Если TreeSet помещается в указанный массив, он возвращается в нем. В противном случае выделяется новый массив с типом времени выполнения указанного массива и размером этого TreeSet.
Если TreeSet помещается в указанный массив с свободным пространством (т. Е. В массиве больше элементов, чем в TreeSet), элемент в массиве, следующий сразу за концом TreeSet, устанавливается в значение NULL. (Это полезно при определении длины TreeSet, только если вызывающий знает, что TreeSet не содержит никаких нулевых элементов.)

Синтаксис:

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

Параметры: метод принимает один параметр arr [], который представляет собой массив, в котором должны храниться элементы TreeSet, если он достаточно большой; в противном случае для этой цели выделяется новый массив того же типа среды выполнения.

Возвращаемое значение: метод возвращает массив, содержащий элементы, аналогичные TreeSet.

Исключение: метод может вызывать исключения двух типов:

  • ArrayStoreException : когда упомянутый массив имеет другой тип и не может сравниваться с элементами, упомянутыми в TreeSet.
  • NullPointerException : если массив имеет значение Null, возникает это исключение.

Программа ниже иллюстрирует работу метода TreeSet.toArray (arr []).

Program 1: When array is of the size of TreeSet

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

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

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

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

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

Program 4: To demonstrate NullPointerException

// Java code to illustrate toArray(arr[])
  
import java.util.*;
  
public class TreeSetDemo {
    public static void main(String args[])
    {
        // Creating an empty TreeSet
        TreeSet<String>
            set = new TreeSet<String>();
  
        // Use add() method to add
        // elements into the TreeSet
        set.add("Welcome");
        set.add("To");
        set.add("Geeks");
        set.add("For");
        set.add("Geeks");
  
        // Displaying the TreeSet
        System.out.println("The TreeSet: "
                           + set);
  
        try {
            // Creating the array
            String[] arr = null;
            // using toArray()
            // Since arr is null
            // Hence exception will be thrown
            arr = set.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);
        }
    }
}
Output:
The TreeSet: [For, Geeks, To, Welcome]
Exception: java.lang.NullPointerException

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .