プログラミングで常用の集合は配列です。Dartは、配列をリスト(List)オブジェクトの形式で表します。 リスト(List)は、順序付けられたオブジェクトの単なるグループです。Dartのcoreライブラリは、リストを作成および操作できるList
クラスを提供します。
Dartでのリストのロジックは次のとおりです。
test_list
– 集合を参照する識別子です。- リストには、
12
、13
、および14
が含まれています。 これらの値を保存するストレージブロックは要素と呼ばれます。 - リストにある各要素は、インデックスの一意の番号で識別されます。インデックスはゼロから始まり、
n-1
まで拡張します。ここで、nはリスト内の要素の総数です。インデックスは添え字とも呼ばれます。
リストは2種類に分けます。
- 固定長リスト
- 可変長リスト
次には、これら2種類のリストについて詳しく説明します。
目次
固定長リスト
固定長リストの長さは、実行時に変更できません。 固定長リストを作成するための構文は以下のとおりです。
ステップ1 – リストを宣言する
固定長リストを宣言するための構文は以下のとおりです。
上記の構文は、指定されたサイズのリストを作成します。リストは実行時に拡大または縮小できません。リストのサイズを変更すると、例外が発生します。
ステップ2 – リストを初期化する
初期化リストの構文は以下のとおりです。
lst_name[index] = value;
実例
void main() {
var lst = new List(3);
lst[0] = 12;
lst[1] = 13;
lst[2] = 11;
print(lst);
}
上記のコードを実行した後、出力結果は以下のとおりです。
[12, 13, 11]
可変長リスト
可変長リストの長さは、実行時に変更できます。可変長リストを宣言および初期化するための構文は以下のとおりです。
ステップ1 – リストを宣言する
var list_name = [val1,val2,val3]
// --- 指定された値を含むリストを作成する
// 或は
var list_name = new List()
// --- サイズがゼロのリストを作成する
ステップ2 – リストを初期化する
インデックス/添え字は、値を入力する必要がある要素を参照するために使用されます。リストを初期化する構文は以下のとおりです。
list_name[index] = value;
実例
以下の実例では、3
つの要素のリストを作成するやり方を示します。
void main() {
var num_list = [1,2,3];
print(num_list);
}
上記のコードを実行した後、出力結果は以下のとおりです。
[1, 2, 3]
実例
以下の実例では、List()
の空のコンストラクタを使用して、長さがゼロのリストを作成します。List
クラスのadd()
メソッド/関数は、要素をリストに動的に追加するために使用されます。
void main() {
var lst = new List();
lst.add(12);
lst.add(13);
print(lst);
}
出力結果は以下のとおりです。
[12, 13]
リストの属性
次のテーブルには、dart:coreライブラリのListクラスの常用の属性を示します。
番号 | 属性 | 説明 |
1 | first | 最初の要素を返します。 |
2 | isEmpty | 集合に要素がない場合は、true を返します。 |
3 | isNotEmpty | 集合に少なくとも1つの要素が含まれている場合、true を返します。 |
4 | length | リストのサイズ(要素数)を返します。 |
5 | last | リストの最後の要素を返します。 |
6 | reversed | リスト値を含むイテラブルを逆の順序で返します。 |
7 | single | リストに要素が1つしかないであるかどうかを確認して返します。 |
リストの基本操作
次には、以下では、リストで基本的な操作を実行するやり方について説明します。
番号 | 操作 | 説明 |
1 | リストに要素を挿入します | 可変長リストは、実行時に動的に成長できます。List.add() 関数は、指定された値をリストの最後に追加し、変更されたList オブジェクトを返します。 |
2 | リストを更新します | Dartのリストは、次のやり方で更新できます – インデックスを更新するには、List.replaceRange()関数を使用します |
3 | リスト要素を削除します | dart:coreライブラリのListクラスは、List内のアイテムを削除することをサポートしています。 |
コメントを残す