疑問
dart には List の指定 index の要素を取得する方法として以下の 2 つがある。
両者で何が違うのか?
var list = ['a', 'b', 'c'];
print(list[0]); // 'a'
print(list.elementAt(0)); // 'a'
得られる結果は同じだが定義場所が違う
[]
も elementAt()
も指定した index の要素を得られるという点では同じ。
ただし、[]
はList インタフェースで定義されているのに対して elementAt()
は Iterable クラスで定義されている。
つまり elementAt()
による要素の取得は List に限らず Iterable であれば使用可能。
使い分けとしては
- List であることを期待するのであれば
[]
- Iterable ではあればよいのであれば
elementAt()
とするのが良さそう。