flutter 中 List 和 Map 的用法

落日映苍穹つ 2023-06-01 05:57 65阅读 0赞

list集合

在Dart中,数组是List对象,因此大多数人只是将它们称为List。
以下是一个简单的Dart的List:

创建一个int类型的list

  1. List list = [10, 7, 23];
  2. print(list);// 输出结果 [10, 7, 23]

要创建一个编译时常量const的list,示例如下:

  1. List constantList = const[10,3,15];
  2. print(constantList);// 输出结果 [10, 3, 15]

注意事项:

  1. 可以直接打印list包括list的元素,list也是一个对象。但是java必须遍历才能打印list,java若直接打印list,结果是地址值。
  2. 和java一样list里面的元素必须保持类型一致,不一致就会报错。
  3. 和java一样list的角标从0开始。
    Dart的list集合给我们提供了很多api,示例如下,api太多就不逐个展示了:









































操作 代码 含义 输出结果
新增 list.add(1);print(list); 把数字1添加到list中,默认是添加到末尾 [10, 7, 23, 1]
移除 list.remove(1);print(list); 移除数字1 [10, 7, 23]
插入 list.insert(0, 5);print(list); 在索引为0的地方插入数字5 [5, 10, 7, 23]
查找某个索引的值 int value = list.indexOf(10);print(value); 查找10在list中的索引 1
判断元素是否包含 bool result = list.contains(5);print(result); 查找list中是否包含数字5 true

map集合

Dart中的map是将键和值相关联的对象。键和值都可以是任何类型的对象。每个键只出现一次,但您可以多次使用相同的值。

(1)创建方式:

直接声明,用{}表示,里面写key和value,每组键值对中间用逗号隔开。

  1. Map companys = {'first': '阿里巴巴', 'second': '腾讯', 'fifth': '百度'};
  2. print(companys);//打印结果 {first: 阿里巴巴, second: 腾讯, fifth: 百度}

先声明,再去赋值。

  1. Map companys1 = new Map();
  2. companys1['first'] = '阿里巴巴';
  3. companys1['second'] = '腾讯';
  4. companys1['fifth'] = '百度';
  5. print(companys1);
  6. //打印结果 {first: 阿里巴巴, second: 腾讯, fifth: 百度}

要创建一个编译时常量const的map,请在map文字之前添加const:

  1. final fruitConstantMap = const {2: 'apple',10: 'orange',18: 'banana'};
  2. // 打印结果{second: 腾讯, fifth: 百度, 5: 华为}

(2)添加元素。格式: 变量名[key] = value,其中key可以是不同类型。

添加一个新的元素,key为“5”,value为“华为”

  1. companys[5] = '华为';
  2. print(companys);//打印结果 {first: 阿里巴巴, second: 腾讯, fifth: 百度, 5: 华为}

(3)修改元素。格式:变量名[key] = value

例如:把key为first的元素对应的value改成 alibaba

  1. companys['first'] = 'alibaba';
  2. print(companys);//打印结果 {first: alibaba, second: 腾讯, fifth: 百度, 5: 华为}

(4)查询元素

  1. bool mapKey = companys.containsKey('second');
  2. bool mapValue = companys.containsValue('百度');
  3. print(mapKey); //结果为:true
  4. print(mapValue); //结果为:true

(5)删除元素.可以使用map的remove或者clear方法。

  1. companys.remove('first');// 移除key为“first”的元素。
  2. print(companys);// 打印结果{second: 腾讯, fifth: 百度, 5: 华为}
  3. companys.clear();// 清空map集合的数据。
  4. print(companys);// 打印结果{}

(6)关于map集合的小结:

  • 创建map有两种方式。
  • map的key类型不一致也不会报错。
  • 添加元素的时候,会按照你添加元素的顺序逐个加入到map里面,哪怕你的key不连续。
    比如key分别是 1,2,4,看起来有间隔,事实上添加到map的时候{1:value,2:value,4:value} 这种形式。
  • 添加的元素的key如果是map里面某个key的英文,照样可以添加到map里面,
    比如可以为3和key为three可以同时存在。
  • map里面的key不能相同,但是value可以相同,value可以为空字符串或者为null。

转自:https://www.jianshu.com/p/547604a5d59a

.

转载于:https://www.cnblogs.com/crazycode2/p/11306322.html

发表评论

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

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

相关阅读

    相关 C++map

    【C++STL】之map的用法。本文主要讲解了C++STL中的map的定义及初始化和一些map的常用用法。如果你觉得本文对你有所帮助的话,还望不吝惜您的三连支持一下我哦!

    相关 Map,List与区别

    区别: List:是存储单列数据的集合,存储的数据是有序并且是可以重复的 Map:存储双列数据的集合,通过键值对存储数据,存储 的数据是无序的,Key值不能重复,value

    相关 C++map

    转载:[C++中map的用法][C_map] map的特性是,所有元素都会根据元素的减值自动被排序。map的所有元素都是pair,同时拥有实值(value)和键值(key)。