blog

20 イテレーターとは何か?

注意事項\nイテレータは、シーケンス内のオブジェクトをトラバースするために使用されるオブジェクトです。開発者は、シーケンスの基本構造を知る必要はありません。\niterator() メソッドはインタフ...

Feb 10, 2020 · 1 min. read
シェア

注意事項

イテレータは、シーケンス内のオブジェクトを走査するためのオブジェクトです。開発者は、シーケンスの基本構造を知る必要はありません。

iterator() メソッドは、java.lang.Iterable インターフェースで、Collection から継承されています。

底本

イテレータはデザインパターンのひとつで、開発者がシーケンスの基本構造を理解しなくても、シーケンス内のオブジェクトを走査して選択できるオブジェクトです。イテレータは安価に作成できるため、しばしば「軽量」オブジェクトと呼ばれます。

Javaのイテレーター関数は比較的単純で、一方向にしか動きません:

  1. iterator() メソッドを使用するには、コンテナが Iterator を返す必要があります。Iterator の next() メソッドが最初に呼び出されると、シーケンスの最初の要素が返されます。注意: iterator() メソッドは、java.lang.Iterable インタフェースのメンバで、Collection.Iterator() から継承されています。
  2. シーケンスの次の要素を取得するには next() を使用します。
  3. hasNext() を使用して、シーケンス内にまだ要素があるかどうかを調べます。
  4. 新しく返されたイテレータの要素を削除するには remove() を使用します。

イテレータは、Javaイテレータの最も単純な実装であり、リスト用に設計されています リストイテレータは、より多くの機能を持っています、それは2つの方向からリストを横断することができ、また、リストから要素を挿入し、削除することができます。

Read next

マルチスレッド同時実行は、JAVAのメモリモデルの基盤をサポートする

Javaのメモリモデルは、Javaの並行処理を理解するために、Javaのメモリモデルを理解し、Javaの並行処理の基盤となるサポートと言うことができます。 ある変数 "value = 1; "をメモリにセットした場合、他のスレッドはその結果をいつ読めるでしょうか?すぐに読めるとは限りません。たとえば、命令の順序がソースコードの順序と異なっていたり、コンパイラが変数をレジスタに保存する代わりに...

Feb 9, 2020 · 4 min read