16

タイトルが言うように、「配列とJavaコレクションフレームワークのコレクションの違い」を調べています。

これについてほとんど知らない、または興味深い答えを見つけるにはあまりにも長い間考える必要がある私たちの一部(または多く)に、ある程度の理解を提供するのに十分な高レベルだと思いました

これまでのところ、私は思いついた:

  1. コレクション フレームワーク クラスは、下に配列を使用するか、より複雑なデータ構造を使用します。配列が単純な場合...配列
  2. 配列には、Collection クラスによって提供されるようなメソッド (API なし) がありません。

これらが間違った仮定である場合は修正してください。もちろん、独自の回答を追加してください

4

4 に答える 4

35

どちらも値のグループを格納していると言うことを除いて、これらは事実上無関係です。

どちらもオブジェクトへの参照を保存できますが、機能の観点からは次のようになります。

  • 配列はプリミティブを格納できます
  • コレクションはプリミティブを格納できませんInteger(ただし、 etc などのプリミティブ ラッパー クラスは格納できます) 。

Java を初めて使用するプログラマーには一般的に理解されていない重要な違いの 1 つは、使いやすさと利便性の 1 つです。特に、必要に応じてコレクションのサイズが自動的に拡張されることを考えると、次のようになります。

  • 配列 - 必要でない限り使用しないでください
  • コレクション - 配列より優先して使用する

配列は、最終的にはプリミティブ/参照のグループを 1 つのオブジェクトに格納する唯一の方法ですが、最も基本的なオプションです。配列には速度上の利点があるかもしれませんが、超高速のコードが必要でない限り、非常に便利なコレクションが好まれます。

于 2012-11-14T13:49:15.773 に答える
12

以下に示すように、配列とコレクションには5つの違いがあります。

  1. 配列はサイズが固定されていますが、一部のコレクションは本質的に拡張可能です。

  2. 配列は同種のデータを格納します。コレクションには、同種のデータと異種のデータの両方が格納されます。

  3. 配列には下線付きのデータ構造はありませんが、コレクションには下線付きのデータ構造があります。

  4. 配列はパフォーマンスのために推奨されますが、コレクションは推奨されません。

  5. 配列は、コレクションと比較してより多くのメモリ スペースを使用します。

于 2015-04-02T07:14:06.580 に答える