【Flutter】Dart的数据类型list&Map(数组和字典)

3,164 阅读3分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

本文同时参与「掘力星计划」,赢取创作大礼包,挑战创作激励金。

📝【Flutter】学习养成记,【程序员必备小知识】

📔 今日小知识——【Flutter】Dart的数据类型list&Map

1. 写在前面

上篇文章中介绍了Dart的基本数据类型中的字符串 string,那么现在就继续来学习 Dart 的基础语法中的数组(list)和字典(Map)。

【Flutter】苹果Mac电脑配置flutter开发环境

【Flutter】 Android Studio 安装第三方模拟器—网易MuMu

【Flutter】项目运行报错Failed to find Build Tools revision 29.0.2

【Flutter】flutter doctor 报错Android license status unknown. Run `flutter doctor --android-licenses‘

【Flutter】如何新建项目,运行你的第一个 flutter 工程项目

【Flutter】Dart中的var、final 和 const基本使用

【Flutter】Dart数据类型之num

【Flutter】Dart数据类型之String

2. list 列表(数组)

dart list列表,就相当于 OC 中的 Array数组,也分为可变不可变两种。

2.1 可变 list

话不多说,直接上代码,如下:

void main(){

  listTest();

}
void listTest(){
  // 直接 list创建
  List a = ["1",2,"3.0",4.0];
  print(a);
// var 创建
  var list = [1,2,"zjp",3.0];
  print(list);

}
  • 默认都是可变的,列表中可以添加不同数据类型的数据,非常方便,运行结果如下: 运行结果

2.1.1 获取指定下标数据

//直接获取指定下标数据
  print(list[3]);
  //直接修改指定下标数据
  list[3] = "reno";

2.1.2 插入数据方法

 //插入
  list.insert(1, "hellow");//list.insert(index, element)

2.1.3 删除数据方法

 //删除
  list.remove(1);
  print(list);

2.1.4 清空数据方法

list.clear();
  • 测试结果如下: 代码测试结果

2.1.5 排序方法

运行结果

更多的方法可以去查看 list.dart,里面都有注释和说明的,和 iOS 里面查看某个类的方法是一样,command+鼠标点击就去就可以。

2.2 不可变 list

  • 不可变的 list 就是在前面加上 const就可以了,如下: 测试结果

list 前面加上 const就是不可变的了,不可以修改里面的数据了,否则会报错。

3. Map(字典)

3.1 可变 Map

dartmap是键值对,也就是 OC 中的字典 dictionary 一样的意思。

  • 创建一个map
void mapTest(){
  Map a = {"a":1,"b":2};
  print(a);

  var a1 = {"a1":1,"a2":2};
  print(a1);
}
  • 运行结果如下:

运行结果

3.1.1 map取值、改值

 print(a["a"]);//取值
  a["a"] = "aa";//改值
  print(a["a"]);

3.1.2 map长度

 //map长度
  print(a.length);

3.1.3 map所有的 key

 //获取所有的 key
  print(a.keys);

3.1.4 map所有的 value

  //获取所有的 values
  print(a.values);
  • 测试结果如下:

测试结果

3.2 不可以变 map

不可变就是前面加上 const,不可变的map不可以修改键值对,和 list一样修改就报错。

报错信息

  • list 可以转为 map
print(b.asMap());//list转为 map
  • 结果如下:

运行结果

更多方法可以去具体的类里面查看。

4. 写在后面

关注我,更多内容持续输出

🌹 喜欢就点个赞吧👍🌹

🌹 觉得有收获的,可以来一波 收藏+关注,以免你下次找不到我😁🌹

🌹欢迎大家留言交流,批评指正,转发请注明出处,谢谢支持!🌹