Java

コレクションを拡張する

for文で取得する

for文は理解している方が多いと思います。C言語など様々な言語で要素を順に取り出していく時よく使われる手法です。

コード例

拡張for文で取得する

コード例

 

イテレータで取得する

javaでは、ある〜型の変数を指すものをjava.util.iterator<〜>のインスタンスで扱います。そしてこのインスタンスはnew演算子を使いません。そのかわりにリスト変数自体のiterator()メソッドを呼び出すことで、変数の先頭をさしたイテレータのインスタンスを得ることができます。

イテレータインスタンスが持っているメソッド
戻り値 メソッド 意味
boolean hasNext() 次の要素を指せる場合はTrueを返す
~ next() 次の要素を指してその内容を返す
コード例

必ずしもiterator()メソッドが使えるわけではありません。
使える条件としては、Iterableインターフェースが実装される必要があります。ちなみにArrayListなどのコレクションは、Iterableインターフェースが実装されているために、Iterableインターフェースを実装する必要がありません。

詳しくしりたい方はこちらをご覧ください

Iterableインターフェースを実装してクラスを作る

ComparableインターフェースとComparator

iterableインターフェースと同様にComparebleインターフェースを実装することにより、その継承したクラスはソートが可能になります。

Comparator

コード例