Java-util-arraylist-toarray

提供:Dev Guides
移動先:案内検索

Java.util.ArrayList.toArray(T [])メソッド

説明

  • java.util.ArrayList.toArray(T [])*メソッドは、このリスト内のすべての要素を適切な順序(最初の要素から最後の要素まで)で含む配列を返します。以下はArrayList.toArray()に関する重要なポイントです-
  • 返される配列のランタイムタイプは、指定された配列のランタイムタイプです。 リストが指定された配列に収まる場合、リストに返されます。 それ以外の場合、指定された配列の実行時タイプとこのリストのサイズで新しい配列が割り当てられます。
  • 指定された配列にリストが収まる余裕がある場合(つまり、配列にリストよりも多くの要素がある場合)、コレクションの最後の直後の配列内の要素はnullに設定されます。

宣言

以下は* java.util.ArrayList.toArray()*メソッドの宣言です

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

パラメーター

*a* -十分に大きい場合、これはリストの要素が格納される配列です。それ以外の場合は、同じランタイムタイプの新しい配列がこの目的のために割り当てられます。

戻り値

このメソッドは、リストの要素を含む配列を返します。

例外

  • ArrayStoreException -指定された配列のランタイムタイプが、このリスト内のすべての要素のランタイムタイプのスーパータイプではない場合。
  • NullPointerException -指定された配列がnullの場合。

次の例は、java.util.Arraylist.toArray()メソッドの使用法を示しています。

package com.finddevguides;

import java.util.ArrayList;

public class ArrayListDemo {
   public static void main(String[] args) {

     //create an empty array list with an initial capacity
      ArrayList<Integer> arrlist = new ArrayList<Integer>();

     //use add() method to add values in the list
      arrlist.add(10);
      arrlist.add(12);
      arrlist.add(31);
      arrlist.add(49);

      System.out.println("Printing elements of array1");

     //let us print all the elements available in list
      for (Integer number : arrlist) {
         System.out.println("Number = " + number);
      }

     //toArray copies content into other array
      Integer list2[] = new Integer[arrlist.size()];
      list2 = arrlist.toArray(list2);

      System.out.println("Printing elements of array2");

     //let us print all the elements available in list
      for (Integer number : list2) {
         System.out.println("Number = " + number);
      }
   }
}

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

Printing elements of array1
Number = 10
Number = 12
Number = 31
Number = 49
Printing elements of array2
Number = 10
Number = 12
Number = 31
Number = 49