【Flutter】Dart 数据类型 Map 类型 ( 创建 Map 集合 | 初始化 Map 集合 | 遍历 Map 集合 )
文章目錄
- 一、 Dart 數據類型 Map 類型
- 二、 Map 類型初始化并賦值
- 1、 創建 Map 對象同時進行初始化操作
- 2、 先創建 Map 對象再進行賦值
- 三、 Map 集合遍歷
- 1、 使用 forEach 遍歷 Map 集合
- 2、 使用普通 for 循環遍歷 Map 集合
- 3、 使用 map 方法進行遍歷生成新的 Map 集合
- 四、 完整代碼示例
- 五、 相關資源
一、 Dart 數據類型 Map 類型
Dart 中的 Map 數據類型與 Java 類似 , 由鍵值對組成 , 鍵 Key , 值 Value ;
其中 Key 的值在 Map 中必須是唯一的 , Value 的值可以重復 ;
二、 Map 類型初始化并賦值
1、 創建 Map 對象同時進行初始化操作
創建 Map 對象同時進行初始化操作 : 通過 {} 初始化 Map 對象, 每個元素形式為 Key : Value , 每個元素的 鍵( Key ) 與 值 ( Value ) 之間使用 冒號 " : " 分割 , 元素與元素之間使用 逗號 " , " 分割 ;
代碼示例 :
// 通過 {} 初始化 Map 對象, 每個元素形式為 Key : Value// 鍵( Key ) 與 值 ( Value ) 之間使用冒號 " : " 分割// 元素與元素之間使用逗號 " , " 分割Map student = {1 : "Tom", 2 : "Jerry", 3 : "Trump"};// 打印 Map 集合print(student);執行結果 :
{1: Tom, 2: Jerry, 3: Trump}2、 先創建 Map 對象再進行賦值
先創建 Map 對象再進行賦值 : 先創建一個空的 Map 集合 , 使用 下標 的方式為 Map 集合賦值 , 用法如下 :
// II . 先創建空的 Map 集合 , 然后再進行初始化操作Map president = {};// 為 Map 集合添加元素president[1] = "Bush";president[2] = "Obama";president[3] = "Trump";// 打印 Map 集合print(president);打印結果 :
{1: Bush, 2: Obama, 3: Trump}三、 Map 集合遍歷
1、 使用 forEach 遍歷 Map 集合
使用 forEach 遍歷 Map 集合 :
// 1 . 使用 forEach 進行遍歷president.forEach( (key, value){print("forEach 遍歷 : $key : $value");} );打印結果 :
forEach 遍歷 : 1 : Bush forEach 遍歷 : 2 : Obama forEach 遍歷 : 3 : Trump2、 使用普通 for 循環遍歷 Map 集合
使用普通 for 循環遍歷 Map 集合 :
// 2 . 通過 for 循環遍歷 Map 集合// 調用 Map 對象的 keys 成員 , 返回一個由 鍵 Key 組成的數組for (var key in president.keys){print("for 循環遍歷 : Key : $key , Value : ${president[key]}");}打印結果 :
for 循環遍歷 : Key : 1 , Value : Bush for 循環遍歷 : Key : 2 , Value : Obama for 循環遍歷 : Key : 3 , Value : Trump3、 使用 map 方法進行遍歷生成新的 Map 集合
使用 map 方法進行遍歷生成新的 Map 集合 : 使用 map 方法 進行遍歷 , 遍歷過程中 生成新的 Map 集合 , 遍歷后 , 會返回一個新的 Map 集合 , 傳入一個回調函數 , 參數是 Map 集合中每個元素的 鍵值對 key 和 value , 返回值是新的 Map 集合 ;
下面的示例將 原 Map 集合中的鍵值對對調 , 生成一個新的 Map 集合 , 并打印新的 Map 集合中的內容 ;
// 3 . 使用 map 方法進行遍歷// 遍歷過程中生成新的 Map 集合// 遍歷后 , 會返回一個新的 Map 集合// 傳入一個回調函數 , 參數是 key value , 返回值是新的 Map 集合Map president2 = president.map((key, value){// 這里將 Map 集合中的 Key 和 Value 進行顛倒 , 生成一個新的 Map 集合return MapEntry(value, key);});// 打印新的 Map 集合print(president2);打印結果 :
{Bush: 1, Obama: 2, Trump: 3}四、 完整代碼示例
import 'package:flutter/material.dart';class DartType_Map extends StatefulWidget {@override_DartType_ListState createState() => _DartType_ListState(); }class _DartType_ListState extends State<DartType_Map> {@overrideWidget build(BuildContext context) {mapDemo();return Container(child: Text('Map 數據類型'));}/*** Map 示例*/mapDemo(){// I . 定義 Map 集合并初始化// 通過 {} 初始化 Map 數據, 每個元素形式為 Key : Value// 鍵( Key ) 與 值 ( Value ) 之間使用冒號 " : " 分割// 元素與元素之間使用逗號 " , " 分割Map student = {1 : "Tom", 2 : "Jerry", 3 : "Trump"};// 打印 Map 集合print(student);// II . 先創建空的 Map 集合 , 然后再進行初始化操作Map president = {};// 為 Map 集合添加元素president[1] = "Bush";president[2] = "Obama";president[3] = "Trump";// 打印 Map 集合print(president);// III . Map 集合遍歷// 1 . 使用 forEach 進行遍歷president.forEach( (key, value){print("forEach 遍歷 : $key : $value");} );// 2 . 通過 for 循環遍歷 Map 集合// 調用 Map 對象的 keys 成員 , 返回一個由 鍵 Key 組成的數組for (var key in president.keys){print("for 循環遍歷 : Key : $key , Value : ${president[key]}");}// 3 . 使用 map 方法進行遍歷// 遍歷過程中生成新的 Map 集合// 遍歷后 , 會返回一個新的 Map 集合// 傳入一個回調函數 , 參數是 key value , 返回值是新的 Map 集合Map president2 = president.map((key, value){// 這里將 Map 集合中的 Key 和 Value 進行顛倒 , 生成一個新的 Map 集合return MapEntry(value, key);});// 打印新的 Map 集合print(president2);}}
執行結果 :
{1: Tom, 2: Jerry, 3: Trump} {1: Bush, 2: Obama, 3: Trump} forEach 遍歷 : 1 : Bush forEach 遍歷 : 2 : Obama forEach 遍歷 : 3 : Trump for 循環遍歷 : Key : 1 , Value : Bush for 循環遍歷 : Key : 2 , Value : Obama for 循環遍歷 : Key : 3 , Value : Trump {Bush: 1, Obama: 2, Trump: 3}五、 相關資源
參考資料 :
- Dart 開發者官網 : https://api.dart.dev/
- Flutter 中文網 ( 非官方 , 翻譯的很好 ) : https://flutterchina.club/ , http://flutter.axuer.com/docs/
- Flutter 官網 : https://flutter.dev/ ( 被墻 )
- 官方 GitHub 地址 : https://github.com/flutter
- Flutter 相關問題 : https://flutterchina.club/faq/ ( 入門階段推薦看一遍 )
博客源碼下載 :
-
GitHub 地址 : https://github.com/han1202012/flutter_app_hello ( 隨博客進度一直更新 , 有可能沒有本博客的源碼 )
-
博客源碼快照 : https://download.csdn.net/download/han1202012/15087696 ( 本篇博客的源碼快照 , 可以找到本博客的源碼 )
總結
以上是生活随笔為你收集整理的【Flutter】Dart 数据类型 Map 类型 ( 创建 Map 集合 | 初始化 Map 集合 | 遍历 Map 集合 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【错误记录】Flutter 运行报错 E
- 下一篇: 【Flutter】Dart 数据类型 (