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 Application啟動(dòng)流程是怎樣的
談到Android Application的啟動(dòng)流程,很多文章都是各種源碼類和方法的一堆調(diào)用關(guān)系,這樣的文章就算看一百遍,也只是云里霧里。源碼得看,但是最好不要一下子深陷到源碼的細(xì)節(jié)之中,不可自拔。這里站在前人的基礎(chǔ)之上做一個(gè)總結(jié)2021-10-10
MVVMLight項(xiàng)目的綁定及各種使用場(chǎng)景示例分析
這篇文章主要為大家介紹了MVVMLight項(xiàng)目中的綁定及綁定的各種使用場(chǎng)景示例源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步除夕快樂(lè)2022-01-01
Android實(shí)現(xiàn)WebView刪除緩存的方法
這篇文章主要介紹了Android實(shí)現(xiàn)WebView刪除緩存的方法,實(shí)例分析了Android針對(duì)WebView操作緩存的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
Android開發(fā)之利用ListView動(dòng)態(tài)刷新某個(gè)Item
這篇文章主要介紹了Android開發(fā)之利用ListView動(dòng)態(tài)刷新某個(gè)Item的方法,文章給出了詳解的示例代碼,相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友們下面來(lái)一起跟著小編學(xué)習(xí)學(xué)習(xí)吧。2016-12-12
Android中的Dalvik和ART詳解及區(qū)別分析
小編通過(guò)這篇文章給大家整理了什么是Dalvik和ART,并進(jìn)行了區(qū)別的分析,下面一起來(lái)看看。2016-07-07
深入Android Handler,MessageQueue與Looper關(guān)系
這篇文章主要介紹了深入Android Handler,MessageQueue與Looper關(guān)系,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
Android 解決build path errors的問(wèn)題
這篇文章主要介紹了Android 解決build path errors的問(wèn)題的相關(guān)資料,需要的朋友可以參考下2016-09-09

