Flutter Map常用操作方法總結(jié)
Flutter 中的 Map 是一種鍵值對(duì)的集合,可以存儲(chǔ)任意類型的數(shù)據(jù),并且可以通過(guò)鍵來(lái)訪問(wèn)和操作對(duì)應(yīng)的值。
1. 創(chuàng)建 Map
可以使用 {}
或者 Map.from()
方法來(lái)創(chuàng)建 Map。例如:
// 使用 {} 創(chuàng)建 Map var myMap = { 'key1': 'value1', 'key2': 'value2', 'key3': 'value3', }; // 使用 Map.from() 創(chuàng)建 Map var myMap = Map.from([ ['key1', 'value1'], ['key2', 'value2'], ['key3', 'value3'], ]);
2. 添加元素
可以使用 map[key] = value
或者 map.put(key, value)
方法來(lái)添加元素。例如:
myMap['key4'] = 'value4'; myMap.put('key5', 'value5');
3. 獲取元素
可以使用 map[key]
方法來(lái)獲取元素。如果鍵不存在,會(huì)返回 null。例如:
var value = myMap['key1']; // value = 'value1'
4. 刪除元素
可以使用 map.remove(key)
或者 map.clear()
方法來(lái)刪除元素。例如:
myMap.remove('key2'); // 刪除鍵為 'key2' 的元素 myMap.clear(); // 清空所有元素
5. 遍歷元素
使用鍵來(lái)獲取值:通過(guò)使用鍵作為索引,可以獲取到與之對(duì)應(yīng)的值。例如,map['key']可以獲取到鍵為'key'的元素的值。
可以使用 for..in
循環(huán)或者 map.keys
和 map.values
方法來(lái)遍歷元素。
5.1 使用keys方法獲取所有的鍵
map.keys可以獲取到Map中所有的鍵,返回的也是一個(gè)Iterable對(duì)象
for (var key in myMap.keys) { print('${key}: ${myMap[key]}'); }
或者:
for (var key in myMap.keys) { print('${key}: ${myMap.values.firstWhere((value) => value == myMap[key])}'); // 使用 values 遍歷找到對(duì)應(yīng)的值并輸出,可能會(huì)效率低下,不建議頻繁使用此操作。 }
或者
void main() { var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}; for (var entry in map.entries) { print('Key: ${entry.key}, Value: ${entry.value}'); } }
5.2 Map.Entry
firstEntry是Map類的一個(gè)方法,用于獲取Map中的第一個(gè)元素。返回的是一個(gè)MapEntry對(duì)象,可以通過(guò)entry.key和entry.value來(lái)獲取鍵和值。
var entry = map.firstEntry; // 獲取第一個(gè)元素 print('Key: ${entry.key}, Value: ${entry.value}');
lastEntry
方法返回Map中的最后一個(gè)元素
var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}; var lastEntry = map.lastEntry; print('Key: ${lastEntry.key}, Value: ${lastEntry.value}');
輸出結(jié)果為:Key: key3, Value: value3
singleEntry
方法返回Map中的唯一個(gè)元素,如果Map中只有一個(gè)元素,則返回該元素;如果Map中沒(méi)有元素或者有多個(gè)元素,則返回null。
var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}; var singleEntry = map.singleEntry; if (singleEntry != null) { print('Key: ${singleEntry.key}, Value: ${singleEntry.value}'); } else { print('Map is empty or contains multiple entries.'); }
輸出結(jié)果為:Key: key3, Value: value3
如果Map中沒(méi)有元素或者有多個(gè)元素,使用singleEntry
方法會(huì)返回null,需要進(jìn)行空判斷或者異常處理。
5.3 forEach方法對(duì)Map中的每個(gè)鍵值對(duì)進(jìn)行遍歷
void main() { var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}; map.forEach((key, value) { print('Key: $key, Value: $value'); }); }
5.4 使用for循環(huán)遍歷Map中的鍵值對(duì)
void main() { var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}; for (var entry in map.entries) { print('Key: ${entry.key}, Value: ${entry.value}'); } }
5.5 使用entries方法遍歷Map中的所有鍵值對(duì)
void main() { var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}; for (var entry in map.entries) { print('Key: ${entry.key}, Value: ${entry.value}'); } }
到此這篇關(guān)于Flutter Map常用操作方法總結(jié)的文章就介紹到這了,更多相關(guān)Flutter Map內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android實(shí)現(xiàn)編程修改手機(jī)靜態(tài)IP的方法
這篇文章主要介紹了Android實(shí)現(xiàn)編程修改手機(jī)靜態(tài)IP的方法,涉及Android編程實(shí)現(xiàn)對(duì)系統(tǒng)底層信息修改的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10Android實(shí)現(xiàn)GridView中ImageView動(dòng)態(tài)變換的方法
這篇文章主要介紹了Android實(shí)現(xiàn)GridView中ImageView動(dòng)態(tài)變換的方法,以實(shí)例形式較為詳細(xì)的分析了GridView中ImageView動(dòng)態(tài)變換的頁(yè)面布局及功能實(shí)現(xiàn)相關(guān)技巧,需要的朋友可以參考下2015-10-10Android中RecyclerView點(diǎn)擊Item設(shè)置事件
這篇文章主要介紹了Android中RecyclerView點(diǎn)擊Item設(shè)置事件的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07Android編程使用GestureDetector實(shí)現(xiàn)簡(jiǎn)單手勢(shì)監(jiān)聽與處理的方法
這篇文章主要介紹了Android編程使用GestureDetector實(shí)現(xiàn)簡(jiǎn)單手勢(shì)監(jiān)聽與處理的方法,簡(jiǎn)單講述了Android手勢(shì)監(jiān)聽的原理并結(jié)合實(shí)例形式分析了GestureDetector實(shí)現(xiàn)手勢(shì)監(jiān)聽與處理的相關(guān)操作技巧,需要的朋友可以參考下2017-09-09Android自定義RecyclerView實(shí)現(xiàn)不固定刻度的刻度尺
這篇文章主要為大家詳細(xì)介紹了Android自定義RecyclerView實(shí)現(xiàn)不固定刻度的刻度尺,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07android 實(shí)現(xiàn)側(cè)邊彈窗特效代碼
側(cè)邊彈窗是在左邊,需要定位好位置,實(shí)現(xiàn)原理其實(shí)就是進(jìn)出動(dòng)效,用位移加透明度效果來(lái)控制,下面通過(guò)代碼給大家介紹android 實(shí)現(xiàn)側(cè)邊彈窗,需要的朋友參考下吧2021-06-06Ionic2創(chuàng)建App啟動(dòng)頁(yè)左右滑動(dòng)歡迎界面
使用Ionic2創(chuàng)建應(yīng)用非常簡(jiǎn)單,只需在V1的命令后跟上--v2即可.這篇文章主要介紹了Ionic2創(chuàng)建App啟動(dòng)頁(yè)左右滑動(dòng)歡迎界面的相關(guān)資料,需要的朋友可以參考下2016-10-10