1. ホーム
  2. java

[解決済み] Java EnumerationとIteratorの違いについて

2022-06-23 14:16:01

質問

この 2 つのインターフェースの正確な違いは何ですか? また Enumeration を使用するよりも利点があります。 Iterator ? どなたか詳しく教えていただければ、参考記事をお願いします。

どのように解決するのですか?

のJava API 仕様を見ると Iterator インターフェースとの違いについて説明があります。 Enumeration :

イテレータは とは2つの点で異なります。

  • イテレータでは、呼び出し元が、イテレーション中に基礎となるコレクションから要素を削除することができます。 イテレーション中に 定義されたセマンティクスで。
  • メソッド名が改善されました。

要するに、両方の EnumerationIterator は連続した要素を与えますが Iterator は冗長な表現を減らすことでメソッド名を改善し、さらに remove メソッドを追加しました。以下は、横に並べた比較です。

  Enumeration                     Iterator
  ----------------                ----------------
  hasMoreElements()               hasNext()
  nextElement()                   next()
  N/A                             remove()

Java API 仕様書にもあるように、新しいプログラムには Iterator よりも優先されるべきです。 Enumeration というのも、Java のコレクションフレームワークでは、Enumeration の代わりに Iterator が使われるからです。 Iterator の仕様から)