Dart Listクラスのプロパティについてメモ書き。
プロパティ一覧
Dart Listクラスのプロパティについて記載。
公式サイトはこちら。
プロパティを取得するためのコンストラクタは以下を参照の事。

Dart Listクラスのコンストラクタ
Dart Listクラスについてメモ書き。
Listクラスに用意されているプロパティ。
| プロパティ | 型 | 説明 |
|---|---|---|
| first | E | Listの先頭要素を返す。 |
| hashCode | int | オブジェクトのハッシュコード。 |
| isEmpty | bool | Listに要素が無い場合true。 Listに要素が有る場合false。 |
| isNotEmpty | bool | Listに要素が有る場合true。 Listに要素が無い場合false。 |
| iterator | iterator<E> | iteratorクラスのインスタンスを返す。 |
| last | E | List末尾の要素を返す。 |
| length | int | Listの要素数を返す。 |
| runtimeType | Type | オブジェクトのランタイムタイプ。 |
| single | E | 要素数が1つだけであることを確認し、その要素を返す。 要素が複数ある場合はStateErrorを返す。 |
各プロパティの詳細を確認していく。
first
firstプロパティを確認。
void main() {
try {
final listTest = <String>["Apple", "Orange", "Banana"];
print(listTest.first);
} catch (e) {
print(e.toString());
}
}実行結果。先頭の要素のみ返す。
ApplehashCode
hashCodeプロパティを確認。
void main() {
try {
final listTest = <String>["Apple", "Orange", "Banana"];
print(listTest[0].hashCode);
} catch (e) {
print(e.toString());
}
}実行結果。ハッシュコードを返す。
884782484isEmpty
isEmptyプロパティを確認。
先ずは要素が存在する場合。
void main() {
try {
final listTest = <String>["Apple", "Orange", "Banana"];
print(listTest.isEmpty);
} catch (e) {
print(e.toString());
}
}実行結果。
false次は要素が存在しない場合。
void main() {
try {
final listTest = <String>[];
print(listTest.isEmpty);
} catch (e) {
print(e.toString());
}
}実行結果。
trueisNotEmpty
isNotEmptyプロパティを確認。
先ずは要素が存在する場合。
void main() {
try {
final listTest = <String>["Apple", "Orange", "Banana"];
print(listTest.isNotEmpty);
} catch (e) {
print(e.toString());
}
}実行結果。
true次は要素が存在しない場合。
void main() {
try {
final listTest = <String>[];
print(listTest.isNotEmpty);
} catch (e) {
print(e.toString());
}
}実行結果。
falseiterator
iteratorプロパティについて確認。
while文で使っているmoveNext()メソッドはiterator要素を次に進める。
戻り値はbool型。次の要素がある場合は「true」、ない場合は「false」を返す。
print()で使用しているcurrentは現在の要素。
void main() {
try {
final listTest = <String>["Apple", "Orange", "Banana"];
final listItr = listTest.iterator;
while (listItr.moveNext()) {
print(listItr.current);
}
} catch (e) {
print(e.toString());
}
}実行結果。
Apple
Orange
BananacurrentはmoveNext()メソッドで最初の要素に移動していない場合例外を返す。
コーディングで確認。
void main() {
try {
final listTest = <String>["Apple", "Orange", "Banana"];
final listItr = listTest.iterator;
print(listItr.current);
} catch (e) {
print(e.toString());
}
}実行結果。
type 'Null' is not a subtype of type 'String' in type castlast
lastプロパティを確認。
void main() {
try {
final listTest = <String>["Apple", "Orange", "Banana"];
print(listTest.last);
} catch (e) {
print(e.toString());
}
}実行結果。List末尾の要素を返す。
Bananalength
lengthプロパティを確認。
void main() {
try {
final listTest = <String>["Apple", "Orange", "Banana"];
print(listTest.length);
} catch (e) {
print(e.toString());
}
}実行結果。要素数を返す。
3runtimeType
runtimeTypeプロパティを確認。
void main() {
try {
final listTest = <String>["Apple", "Orange", "Banana"];
print(listTest.runtimeType);
} catch (e) {
print(e.toString());
}
}実行結果。ランタイムタイプを返す。
List<String>single
singleプロパティを確認。
void main() {
try {
final listTest = <String>["Apple"];
print(listTest.single);
} catch (e) {
print(e.toString());
}
}実行結果。要素数が一つだけなので値を返す。
Apple次は要素数を増やして確認。
void main() {
try {
final listTest = <String>["Apple", "Orange", "Banana"];
print(listTest.single);
} catch (e) {
print(e.toString());
}
}実行結果。要素数が複数あるので例外を返す。
Bad state: Too many elements

コメント