JavaでArrayListコレクションを初期化する方法

王林
リリース: 2019-11-26 15:13:01
転載
2660 人が閲覧しました

JavaでArrayListコレクションを初期化する方法

概要

ArrayList は、動的配列に基づく非スレッドセーフなコレクションです。ArrayList の要素は空で繰り返すことができます。同時に順序付けされます(読み取りと保存の順序は一貫しています)。

ArrayList は AbstractList を継承し、ListRandomAccess (すぐにアクセス可能)、Cloneable (複製可能)、java を実装します。 .io.Serializable (シリアル化をサポート)

その他の無料関連ビデオの推奨事項:java ビデオ

ArrayList を初期化するには 3 つの方法があります:

1. パラメーターなしの構築、デフォルトの長さは 10 で、これは最も一般的に使用される初期化方法です:

/**
  * Constructs an empty list with an initial capacity of ten.
  */
  public ArrayList() {
      this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;
  }
ログイン後にコピー

この時点では、ソース コード ご覧のとおり、コードは 1 行だけです: this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA、定義された DEFAULTCAPACITY_EMPTY_ELEMENTDATA はソース コード内にあります:

/**
  * Shared empty array instance used for default sized empty instances. We
  * distinguish this from EMPTY_ELEMENTDATA to know how much to inflate when
  * first element is added.
  */
 private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};
ログイン後にコピー

コメントから次のことがわかります。空の配列はソース コードでデフォルトの size として定義され、最初の要素が追加されるときに配列をどれだけ拡張するかを決定します。このロジックについては、要素を追加する次のセクションで説明します。

2. 初期化の長さを指定します:

/**
  * Constructs an empty list with the specified initial capacity.
  * @param  initialCapacity  the initial capacity of the list
  * @throws IllegalArgumentException if the specified initial capacity
  *         is negative
  */
  public ArrayList(int initialCapacity) {
     if (initialCapacity > 0) {
         this.elementData = new Object[initialCapacity];
     } else if (initialCapacity == 0) {
         this.elementData = EMPTY_ELEMENTDATA;
     } else {
         throw new IllegalArgumentException("Illegal Capacity: "+ initialCapacity);
     }
  }
ログイン後にコピー

3. Collection オブジェクトを使用して

/**
     * Constructs a list containing the elements of the specified
     * collection, in the order they are returned by the collection's
     * iterator.
     *
     * @param c the collection whose elements are to be placed into this list
     * @throws NullPointerException if the specified collection is null
     */
    public ArrayList(Collection<? extends E> c) {
        elementData = c.toArray();
        if ((size = elementData.length) != 0) {
            // c.toArray might (incorrectly) not return Object[] (see 6260652)
            if (elementData.getClass() != Object[].class)
                elementData = Arrays.copyOf(elementData, size, Object[].class);
        } else {
            // replace with empty array.
            this.elementData = EMPTY_ELEMENTDATA;
        }
    }
ログイン後にコピー

関連記事のチュートリアル推奨事項 :Java 開発の概要

以上がJavaでArrayListコレクションを初期化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!