flutter 中 List 和 Map 的用法


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]

注意事項:

  1. 可以直接打印list包括list的元素,list也是一個對象。但是java必須遍歷才能打印list,java若直接打印list,結果是地址值。
  2. 和java一樣list里面的元素必須保持類型一致,不一致就會報錯。
  3. 和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。
轉自:https://www.jianshu.com/p/547604a5d59a

.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM