IEnumerable<T>
C#を使用することで、インターフェイスが大好きになりました。それだけを配り、取り入れたい場合がたくさんあります。さらに、.Netライブラリで役立ちます。たとえば、List<T>
をとるクラスのコンストラクタがありIEnumerable<T>
ます。
現時点ではJavaを使用する必要があり、当然、同等のIterable<T>
インターフェースを使用したいと思いました。ただ、どこでも使えるとは思えません。代わりに、すべてが拡張Collection<T>
インターフェースを使用しているようです。どうしてこれなの?
例として、:ArrayList<T>
を取るコンストラクターがあります。Collection<T>
指定されたコレクションの要素を含むリストを、コレクションのイテレーターによって返される順序で作成します。
Iterable<T>
代わりに取ってみませんか?