list集合
在Dart中,數組是List對象,因此大多數人只是將它們稱為List。
以下是一個簡單的Dart的List:
創建一個int類型的list
List list = [10, 7, 23]; print(list);// 輸出結果 [10, 7, 23]
要創建一個編譯時常量const的list,示例如下:
List constantList = const[10,3,15]; print(constantList);// 輸出結果 [10, 3, 15]
注意事項:
- 可以直接打印list包括list的元素,list也是一個對象。但是java必須遍歷才能打印list,java若直接打印list,結果是地址值。
- 和java一樣list里面的元素必須保持類型一致,不一致就會報錯。
- 和java一樣list的角標從0開始。
Dart的list集合給我們提供了很多api,示例如下,api太多就不逐個展示了:
操作 | 代碼 | 含義 | 輸出結果 |
---|---|---|---|
新增 | list.add(1);print(list); | 把數字1添加到list中,默認是添加到末尾 | [10, 7, 23, 1] |
移除 | list.remove(1);print(list); | 移除數字1 | [10, 7, 23] |
插入 | list.insert(0, 5);print(list); | 在索引為0的地方插入數字5 | [5, 10, 7, 23] |
查找某個索引的值 | int value = list.indexOf(10);print(value); | 查找10在list中的索引 | 1 |
判斷元素是否包含 | bool result = list.contains(5);print(result); | 查找list中是否包含數字5 | true |
map集合
Dart中的map是將鍵和值相關聯的對象。鍵和值都可以是任何類型的對象。每個鍵只出現一次,但您可以多次使用相同的值。
(1)創建方式:
直接聲明,用{}表示,里面寫key和value,每組鍵值對中間用逗號隔開。
Map companys = {'first': '阿里巴巴', 'second': '騰訊', 'fifth': '百度'}; print(companys);//打印結果 {first: 阿里巴巴, second: 騰訊, fifth: 百度}
先聲明,再去賦值。
Map companys1 = new Map(); companys1['first'] = '阿里巴巴'; companys1['second'] = '騰訊'; companys1['fifth'] = '百度'; print(companys1); //打印結果 {first: 阿里巴巴, second: 騰訊, fifth: 百度}
要創建一個編譯時常量const的map,請在map文字之前添加const:
final fruitConstantMap = const {2: 'apple',10: 'orange',18: 'banana'}; // 打印結果{second: 騰訊, fifth: 百度, 5: 華為}
(2)添加元素。格式: 變量名[key] = value,其中key可以是不同類型。
添加一個新的元素,key為“5”,value為“華為”
companys[5] = '華為'; print(companys);//打印結果 {first: 阿里巴巴, second: 騰訊, fifth: 百度, 5: 華為}
(3)修改元素。格式:變量名[key] = value
例如:把key為first的元素對應的value改成 alibaba
companys['first'] = 'alibaba'; print(companys);//打印結果 {first: alibaba, second: 騰訊, fifth: 百度, 5: 華為}
(4)查詢元素
bool mapKey = companys.containsKey('second'); bool mapValue = companys.containsValue('百度'); print(mapKey); //結果為:true print(mapValue); //結果為:true
(5)刪除元素.可以使用map的remove或者clear方法。
companys.remove('first');// 移除key為“first”的元素。 print(companys);// 打印結果{second: 騰訊, fifth: 百度, 5: 華為} companys.clear();// 清空map集合的數據。 print(companys);// 打印結果{}
(6)關於map集合的小結:
- 創建map有兩種方式。
- map的key類型不一致也不會報錯。
- 添加元素的時候,會按照你添加元素的順序逐個加入到map里面,哪怕你的key不連續。
比如key分別是 1,2,4,看起來有間隔,事實上添加到map的時候{1:value,2:value,4:value} 這種形式。 - 添加的元素的key如果是map里面某個key的英文,照樣可以添加到map里面,
比如可以為3和key為three可以同時存在。 - map里面的key不能相同,但是value可以相同,value可以為空字符串或者為null。
.