在 JavaFX 其實(shí)并沒(méi)有傳統(tǒng)意義上的數(shù)組,正確的叫法應(yīng)該是序列,即 Sequence ,它類(lèi)似傳統(tǒng)語(yǔ)言庫(kù)里面的 ArrayList,沒(méi)有長(zhǎng)度限制,可以隨時(shí)添加元素或者刪除元素,同時(shí)還提供一些附加的操作。
1、定義一個(gè)數(shù)組
將元素放到方括號(hào)中,用逗號(hào)分隔開(kāi)就可以定義了。
2、數(shù)組自動(dòng)扁平化
var days = [weekDays, ["Sat","Sun"]];
這里的 days 被自動(dòng)展開(kāi)為 ["Mon","Tue","Wed","Thur","Fri","Sat","Sun"];
3、創(chuàng)建等差數(shù)組
var nums = [1..100];
var nums2 = [1..100 step 2];
step 2 是什么意思應(yīng)該難不到你吧?呵呵。注意:這里說(shuō)的等差是元素的值等差,而元素的編號(hào)是還從 0 開(kāi)始順序遞增的。
4、數(shù)組的數(shù)組
var weekDays = ["Mon","Tue","Wed","Thur","Fri"];
var days = [weekDays, weekDays];
System.out.println(days[1]);
結(jié)果:可能和你想的不一樣,不是 weekDays ,而是 Tue
5、引用數(shù)組中的一個(gè)元素
var nums = [1..5];
System.out.println(nums[3]);
輸出結(jié)果應(yīng)該是:4
6、向數(shù)組中插入一個(gè)元素
第一種情況:默認(rèn),插入到最后
var nums = [1..5];
insert 0 into nums;
System.out.println(nums);
結(jié)果:[ 1, 2, 3, 4, 5, 0 ]
0被插到最后位置上
第二種情況:插入到指定項(xiàng)之前
var nums = [1..5];
insert 0 before nums[3];
System.out.println(nums);
把 into 改成 before ,并指定參照位置就可以了
結(jié)果:[ 1, 2, 3, 0, 4, 5 ]
第三種情況:插入到指定項(xiàng)之后
var nums = [1..5];
insert 0 after nums[3];
System.out.println(nums);
把 before 改成 after 就可以了
結(jié)果:[ 1, 2, 3, 4, 0, 5 ]
7、刪除數(shù)組中的元素
第一種情況:刪除指定位置元素
var nums = [1..5];
delete nums[3];
System.out.println(nums);
結(jié)果:[ 1, 2, 3, 5 ]
第二種情況:刪除指定值的元素
var nums = [1,2,3,3,4,5];
delete 3 from nums;
System.out.println(nums);
結(jié)果:[ 1, 2, 4, 5 ]
兩個(gè) 3 都被刪除掉了
第三種情況:刪除指點(diǎn)范圍內(nèi)的所有元素
var nums = [1..5];
delete nums[1..3];
System.out.println(nums);
結(jié)果:[ 1, 5 ]
注意:第一行里面的 1 代表 第 0 個(gè)元素值為 1 ;第二行里面的 1 代表第 1 個(gè)元素,他的值應(yīng)該是 2
第四種情況:刪除全部元素
var nums = [1..5];
delete nums;
System.out.println(nums);
結(jié)果:[ ]
8、數(shù)組倒置
var nums = [1..5];
System.out.println(reverse nums);
結(jié)果:[ 5, 4, 3, 2, 1 ]
9、返回?cái)?shù)組的子集
返回a 、b之間(含 a 和 b)的所有元素
def days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];
def weekend = days[5..6];
結(jié)果:[ Sat, Sun ]
返回a 、b之間(含 a,不含 b)的所有元素
def days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];
def weekdays = days[0..<5];
結(jié)果:[ Mon, Tue, Wed, Thu, Fri ]
返回從 a 到序列末尾處的所有項(xiàng)
def days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];
def weekend = days[5..];
結(jié)果:[ Sat, Sun ]
返回 a 到序列末尾處的所有項(xiàng)(但不含最后一項(xiàng))
def days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];
def days2 = days[0..<];
結(jié)果:[ Mon, Tue, Wed, Thu, Fri, Sat ]
10、用條件表達(dá)式選擇子集
def nums = [1..9];
def numsGreaterThanTwo = nums[n | n > 2 and n!=6];
結(jié)果:[ 3, 4, 5, 7, 8, 9 ]