2017-10-02 13 views
-5

javaのリストとイテレータと列挙の違いは何ですか? 以下を除き、イテレータとリスト

  1. リストはいくつかの利点が追加された配列です。
  2. イテレータは、コレクションオブジェクトをトラバースするために使用されます。
  3. 列挙は、メソッド(関数)の少ないイテレータの古いバージョンです。
+3

概念的には、#1のポイントが正しいのですが、Javaのリストと配列は非常に異なるものです。この時点で、良いチュートリアルでブラッシュアップしたいかもしれません。 –

+0

私はそれらについて知っています。 – user8706150

+0

この質問はあまりにも一般的であり、私は多くの答えが利用可能だと思います。 –

答えて

0

列挙子は、処理中のコレクションを変更できません。反復子はできますが。また、イテレータはフェイル・ファーストであり、列挙子はフェイル・セーフです。つまり、反復子が処理しているコレクションを別のスレッドが変更すると、例外がスローされますが、列挙子はその例外をスローしません。これらは、両者の根本的な違いの一種です。どちらも同じような目的を持っていますが、異なる機能とプロパティが構築されています。これらはどちらもListとは異なります。ここで、Listはデータを保持する実際のデータ構造体で、IteratorとEnumeratorは基になるコレクションでのアクセスを許可するインタフェースです。

関連する問題