5.列表類型的應用

列表用來存放一組數據,在許多編程語言中,列表這種數據類型也被稱為數組。在Dart中,列表具體的數據類型由其中的元素類型決定,例如下面是完整的聲明列表變量的格式:

List<int> list = [1,2,3,4];

其中,尖括號==中的類型用來==指定列表中元素的類型,如果列表明確了其中元素的類型,它就只能存放這種類型的數據,否則會產生運行時異常。例如下面的寫法是不允許的:
List<int> list = [1,2,3,4,"5"];

若想在列表中存放不同類型的數據,則可以將列表聲明成動態類型的,例如:
List<dynamic> list = [1,2,3,4,"5"];

其實更多時候,我們不需要手動指明列表的類型,可以利用Dart的類型推斷特性,直接使用var進行聲明即可,例如:
var list = [1,2,3,4,"5"];

其他常用列表屬性:
//獲取列表的第一個元素
print([1,2].first);//1
//獲取列表中的最後一個元素
print([1,2].last);//2
//獲取列表的長度
print([1,2].length);//2
print(["a", "b", "c", "d"][3]) ; //d

print([1,2]+[2,3]);//[1, 2, 2, 3]

var data = [1,2,3];

data[2] = 4;

print(data);//[1, 2, 4]

var l = [];
//向列表中增加元蒙
l.add(1) ;
//向列表中增加一組元素
l.addAll([2,3]);
//將列表對象映射成字典對象,下標為鏈,元素為值
print(l.asMap());//(0: 1, 1: 2, 2: 3)
//將列表中某個範圍的元素進行覆蓋
l.fi11Range(0, 2, "a") ;//[a, a, 3]
//獲取列表某個範圍內的元素集合
print(l.getRange (0, 3));
//獲取列表中某個元素的下標,從前向後找,如果沒有,就返回一1
print(l.indexof("a"));
//獲取列表中某個元素的下標,從後向前找,如果沒有,就返回一1
print(l.lastIndexof("a"));
//向列表中的指定位置插入一個元素
l.insert(0,'s');//[s, a, a, 3]
//向列表的指定位置插入一組元素
l.insertAll(0,["a","b","c"]);//[a, b, c, s, a, a, 3]
//刪除列表中的指定元素,從前向後找到第一個刪除
l.remove ("a") ;
//刪除列表中指定位置的一個元素
l.removeAt(0) ;
//刪除列表中的最後一個元素
l.removeLast() ;
//刪除列表中指定範圍內的元素
l.removeRange(0,2) ;
//將列表中指定範圍的元素進行替換,替換為集合參數中的元素
l.replaceRange(0, 2, [1,2,3,4]);
//截取列表中範圍內的元素返回新的列表
print(l.sublist(0,3)) ;
//判斷列表中是否包含指定元素
print(l.contains(2)) ;
//使用指定拼接符將列表拼接為字符串
print(l.join("-"));//1-2-3-4
//將列衣轉換為字符申
print(l.toString());//[1, 2, 3, 4]
print(l);
//刪除列表中所有的元素
l.clear();


Last update : 13 novembre 2024
Created : 13 novembre 2024

Comments

Comments