メインコンテンツまでスキップ

配列

配列の生成

[] で配列を生成します.要素はセミコロンで区切ります.

[1; 2; 3];  // [1; 2; 3]

配列のサイズ

Array オブジェクトの持つ len 属性を呼び出すことで配列のサイズを取得します.ArrayList の親オブジェクトです.

list = [1; 2; 3];

println(Array::len list); // 3

ドット . を使うと記述を短くできます.

list = [1; 2; 3];

println(list.len); // 3

:: はオブジェクトの属性を参照する構文です.オブジェクトが該当の属性を有しない場合,親オブジェクトの属性が参照されます.

. は属性に対して自分自身を呼び出す構文です.上のコードでは,list の親オブジェクトである Arraylen 属性を list で呼び出しています.

要素の取得と変更

Int オブジェクトで呼び出すことで要素を取得します.

list = [1; 2; 3];

println(list 0); // 1

1 >- list >- println; // 2

set 属性を呼び出すことで要素を変更します.

list = [1; 2; 3];

list.set 1 5;

println list; // [1; 5; 3]

リストの結合

+ 演算子でリスト同士を結合します.

list = [1; 2; 3];

println(list + list); // [1; 2; 3; 1; 2; 3]

その他の操作

インデックスの取得

list = [1; 2; 3];

println(list.indexOf 2); // 1
println(list.indexOf 3); // 2
println(list.indexOf 4); // -1

末尾に追加

list = [1; 2; 3];

list.push 4;

println list; // [1; 2; 3; 4]

先頭に追加

list = [1; 2; 3];

list.unshift 0;

println list; // [0; 1; 2; 3]

末尾から削除

list = [1; 2; 3];

list.pop;

println list; // [1; 2]

先頭から削除

list = [1; 2; 3];

list.shift;

println list; // [2; 3]

要素の挿入

list = [1; 2; 3];

list.insert 1 4;

println list; // [1; 4; 2; 3]

要素の削除

list = [1; 2; 3];

list.remove 1;

println list; // [1; 3]

要素の入れ替え

list = [1; 2; 3];

list.swap 0 2;

println list; // [3; 2; 1]

ソート

list = [1; 2; 3];

list.sort a -> b -> a > b;

println list; // [3; 2; 1]