【Dart】集合梳理

待我称王封你为后i 2024-04-03 10:32 165阅读 0赞

Dart的循环表达式

for循环

  1. for (int i = 1; i <= 1000; i++) {
  2. print(i);
  3. }

也可以写成:

  1. for (var i = 1; i <= 10; i++) {
  2. print(i);
  3. }

对于List的遍历我们可以这样做:

  1. var list = <String>["CJ", "GTA", "GTI"];
  2. for (var element in list) {
  3. print(element);
  4. }

对于Map的迭代我们也可以使用for循环语句:

  1. var person = {
  2. "name": "如初",
  3. "age": 28,
  4. "work": ["程序员", "iOS开发"]
  5. };
  6. person.forEach((key, value) {
  7. print(value);
  8. });

while语句

while有两种语句格式:

  1. while(表达式/循环条件) {
  2. }
  3. do {
  4. 语句/循环体
  5. } while(表达式/循环条件);

break和continue语句

break语句功能:

  • 在switch语句中使流程跳出switch结构。
  • 在循环语句中使流程跳出当前循环,遇到break循环终止,后面代码也不会执行

需要强调的是:

  • 如果在循环中已经执行了break语句,就不会执行循环体中位于break后的语句。
  • 在多层循环中,一个break语句只能向外跳出一层

break可以用在switch case中 也可以用在for循环和while循环中。

continue语句的功能:
只能在循环语句中使用,使本次循环结束,即跳过循环体中下面尚未执行的语句,接着进行下次的是否执行循环的判断。

continue可以用在for循环以及while循环中,但是不建议用在while循环中,不小心容易死循环。

List常用属性和方法

常用属性

  • length 长度
  • reversed 翻转
  • isEmpty 是否为空
  • isNotEmpty 是否不为空

常用方法

  • add 增加
  • addAll 拼接数组
  • indexOf 查找 传入具体值
  • remove 删除 传入具体值
  • removeAt 删除 传入索引值
  • fillRange 修改
  • insert(index, value) 指定位置插入
  • insertAll(index, list) 指定位置插入List
  • toList() 其他类型转换成List
  • join() List转换成字符串
  • split() 字符串转化成List
  • forEach
  • map
  • where
  • any

    var list = [‘张三’,’李四’,’王五’,”小明”];
    print(list.length);
    print(list.isEmpty);
    print(list.isNotEmpty);
    print(list.reversed); // 对列表倒序排序

    print(list.indexOf(‘李四’)); // indexOf查找数据 查找不到返回-1 查找到返回索引值

    list.remove(‘王五’);

    list.removeAt(2);

    list.fillRange(1, 2,’a’); // 修改 1是开始的位置 2二是结束的位置

    print(list);

    list.insert(1,’a’);

    print(list);

    list.insertAll(1, [‘a’,’b’]); // 插入多个

Set

Set的最主要的功能就是去除数组重复内容,它是没有顺序且不能重复的集合,所以不能通过索引去获取值。

  1. var s = new Set();
  2. s.add('A');
  3. s.add('B');
  4. s.add('B');
  5. print(s); //{A, B}

当add相同内容时候无法添加进去的。

Set可以通过add方法添加一个List,并清除值相同的元素:

  1. var list = ['香蕉', '苹果', '西瓜', '香蕉', '苹果', '香蕉', '苹果'];
  2. var s = new Set();
  3. s.addAll(list);
  4. print(s);
  5. print(s.toList());

Map常用属性和方法

Map是无序的键值对,它的常用属性主要有以下:

常用属性

  • keys 获取所有的key值
  • values 获取所有的value值
  • isEmpty 是否为空
  • isNotEmpty 是否不为空

常用方法

  • remove(key) 删除指定key的数据
  • addAll({…}) 合并映射 给映射内增加属性
  • containsValue 查看映射内的值 返回true/false
  • forEach
  • map
  • where
  • any
  • every

map转换

  1. List list = [1, 3, 4];
  2. // map转换,根据返回值返回新的元素列表
  3. var newList = list.map((value) {
  4. return value * 2;
  5. });
  6. print(newList.toList());

where:获取符合条件的元素

  1. List list = [1, 3, 4, 5, 7, 8, 9];
  2. var newList = list.where((value){
  3. return value > 5;
  4. });
  5. print(newList.toList());

any:是否有符合条件的元素

  1. List list = [1, 3, 4, 5, 7, 8, 9];
  2. // 只要集合里面有满足条件的就返回true
  3. var isContain = list.any((value) {
  4. return value > 5;
  5. });
  6. print(isContain);

every:需要每一个都满足条件

  1. List myList = [1, 3, 4, 5, 7, 8, 9];
  2. // 每一个都满足条件返回true 否则返回false
  3. var flag = myList.every((value){
  4. return value > 5;
  5. });
  6. print(flag);

Set使用forEach遍历

  1. var s=new Set();
  2. s.addAll([11,22,33]);
  3. s.forEach((value) => print(value));

Map使用forEach遍历

  1. Map person = {
  2. "name": "张三",
  3. "age": 28
  4. };
  5. person.forEach((key, value){
  6. print("$key -> $value");
  7. });

发表评论

表情:
评论列表 (有 0 条评论,165人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Dart】空安全梳理

    空安全 Dart和Kotlin一样都是支持空安全,空安全操作符主要有两个: ?可空类型 ! 类型断言 可空类型 在之前的介绍中,声明一个变量,如:

    相关 Dart】泛型梳理

    Dart泛型 泛型主要解决的是`类`、`接口`、`方法`的`复用性`、以及`对不特定数据类型的支持(类型校验)`。 泛型方法 泛型方法最主要的就是不指定类型方法的

    相关 Dart】基础梳理

    前言 Dart语言跟Kotlin都是一种强大的脚本语言,它的很多语法跟Kotlin是很相似的。比如Dart也是可以不预先定义变量类型 ,自动会类型推倒,它修饰一般变量的关

    相关 掌握 Dart 集合的使用

    我们将继续 Dart 语法的集合,虽然集合在第一篇中已经介绍的差不多,但是在这篇文章中将会更加全面介绍有关 Dart 中的集合,因为之前只是介绍了 [dart:core 包][

    相关 Java----集合梳理

    集合是Java中一个很重要的组成部分。 先来看一张集合的图: ![这里写图片描述][SouthEast] 一张图基本上集合的框架结构就清楚了。 后面,再针对这张图