文章目录

  • 循环遍历 List 中的数据
  • List 数据转 Map 数据
  • 连接 List 中的数据
  • 合并 List 中的数据
  • 随机排列 List中的数据顺序
  • 升序排列 List 中的数据
  • 去重复
  • 查找 List 中的元素
  • 获取 List 中指定位置的值
  • List 中数据修改
  • List 中数据删除
循环遍历 List 中的数据
///代码清单 1-1
List<String> testList = ["test1", "xioming", "张三", "xioming", "张三", "李四"];///方式一 遍历获取List中的所有数据
testList.forEach((value) {//value 就是List中对应的值
});///方式二 遍历获取List中的所有的数据
for(int i=0;i<testList.length;i++){///根据索引获取List中的数据var value = testList[i];
}//方式三
//while+iterator迭代器遍历,类似Java中的iteator
while(testList.iterator.moveNext()) {//获取对应的值var value = testList.iterator.current;}//方式四 增强for循环
//for-in遍历
for (var value in testList) {//value 就是List中对应的值
}
List 数据转 Map 数据
  ///代码清单 1-2
List<String> testList = ["test1", "xioming", "张三", "xioming", "张三", "李四"];print(testList); //[test1, xioming, 张三, xioming, 张三, 李四]//将list转为set,将后面重复的都去掉Map<int,String> map = testList.asMap();print(map); //{0: test1, 1: xioming, 2: 张三, 3: xioming, 4: 张三, 5: 李四}
连接 List 中的数据
    ///代码清单 1-3
List<String> testList = ["A", "D",  "F", "F","B", "C",];print(testList); //[A, D, F, F, B, C]///用指定的字符将List中每个元素都连接起来,返回一个字符串/// 如这里将 List 中的数据 使用 , 号来连接String value = testList.join(",");print(value);///A,D,F,F,B,C
合并 List 中的数据

通过 List 的 followedBy 方法,可以合并 多个 List中的数据至一个 Iterable中,如下代码所示:

    ///代码清单 1-4///创建一个 List 并添加初始化数据List<int> list = [1,2,3,4];///创建一个  List并添加初始化数据List<int> list2 = [2,3,4,5];///将两个 List 中的数据合并成一个 IterableIterable<int> lsit3=list2.followedBy(list);print("list: "+list.toString());//list: [1, 2, 3, 4]print("list2: "+list2.toString());//list2: [2, 3, 4, 5]print("list3: "+lsit3.toString());//list3: (2, 3, 4, 5, 1, 2, 3, 4)
随机排列 List中的数据顺序
        ///代码清单 1-5List<String> testList = ["test1", "xioming", "张三", "xioming", "张三", "李四"];print(testList); //[test1, xioming, 张三, xioming, 张三, 李四]//将list中数据 重新随机排列testList.shuffle();print(testList); //[test1, xioming, xioming, 李四, 张三, 张三]
升序排列 List 中的数据
     ///代码清单 1-6List<String> testList = ["A", "D",  "F", "F","B", "C",];print(testList); //[A, D, F, F, B, C]///升序排列testList.sort();print(testList);//[A, B, C, D, F, F]
去重复

在 List 中保存的数据是允许重复的,通过 toSet 方法 将List转为Set ,可去除后面重复的元素,如下所示:

     ///代码清单 1-7List<String> testList = ["test1", "xioming", "张三", "xioming", "张三", "李四"];print(testList); //[test1, xioming, 张三, xioming, 张三, 李四]//将list转为set,将后面重复的都去掉Set<String> set = testList.toSet();print(set); //{test1, xioming, 张三, 李四}
查找 List 中的元素
    List<String> list = ["test1", "xioming", "张三","xioming", "张三","李四"];///从索引0处开始查找指定元素,返回指定元素的索引int index = list.indexOf("张三"); ///index 2//////从索引0处开始查找指定元素,如果存在返回元素索引,否则返回-1int index2 = list.indexOf("张三",3); ///  4///  ///从后往前查找,返回查找到的第一个元素的索引int index4 = list.lastIndexOf("张三");/// 4
获取 List 中指定位置的值
    ///直接根据索引获取 0 号位置上的数据String  value = list[0];/// 等效于 elementAt 方法获取String value1 = list.elementAt(0);
List 中数据修改

List中的数据修改操作方法就比较简单,如下代码清单 4-1所示:

    ///代码清单 1-10List<String> list = ["test1", "xioming", "张三", "李四"];print("list: " + list.toString()); //list: [test1, xioming, 张三, 李四]///修改数据list[0] = "测试数据";print("list: " + list.toString()); //list: [测试数据, xioming, 张三, 李四]

通过 setRange 方法批量修改一定范围的数据,如下代码清单 4-2 所示:

 ///代码清单 1-11List<String> list = ["test1", "xioming", "张三", "李四"];print("list: " + list.toString()); //list: [test1, xioming, 张三, 李四]///修改 索引范围为 [0,2) 也就是修改了 0号位与1号位上的元素list.setRange(0, 2, list2);print("list: " + list.toString()); //list: [223, 35, 张三, 李四]
List 中数据删除

删除 List中1个元素,如下代码清单3-1 所示:

    ///代码清单 1-12///创建一个 List 并添加初始化数据List<String> list = ["test1", "xioming", "张三", "李四"];///移除最后一个元素list.removeLast();///移除指定索引位置的元素 如这里指定的 2号位置list.removeAt(2);///移除List 中指定的元素list.remove("张三");

通过 removeRange 方法可删除 List 中指定范围的多个元素,这个范围是连续的,如下代码清单3-2所示:

    ///代码清单 1-13 ///创建一个 List 并添加初始化数据List<String> list = ["test1", "xioming", "张三", "李四"];print("list: " + list.toString()); //list: [test1, xioming, 张三, 李四]///移除指定 索引区域的元素///如这里移除索引范围为 [0,2) 也就是移除了 0号位与1号位上的元素list.removeRange(0, 2);

通过 removeWhere 方法可删除满足一定条件的元素数据,如下代码清单3-3所示:

    ///代码清单 1-14///创建一个 List 并添加初始化数据List<String> list = ["test1", "xioming", "张三", "李四"];print("list: " + list.toString()); //list: [test1, xioming, 张三, 李四]// 从List中中删除满足条件的所有对象。list.removeWhere((item){///在这里 张三, 李四 的 length 分别为2 ,满足条件 所以会被删除return item.length == 2;});print("list: " + list.toString()); //list: [test1, xioming]

通过 clear 方法可清空 List,也就是删除List中的所有的数据。

 list.clear();///在这里 张三, 李四 的 length 分别为2 ,满足条件 所以会被删除return item.length == 2;});print("list: " + list.toString()); //list: [test1, xioming]

通过 clear 方法可清空 List,也就是删除List中的所有的数据。

 list.clear();

dart语法中list相关详解相关推荐

  1. sql语法中u‘‘ n‘‘详解

    今天翻阅视图的时候,发现sql语句中有N'' U''这样的语法,不懂什么意思,于是搜索了一下,得出如下结论. 例子: select U'中文' from dual; select N'中文' from ...

  2. pdo mysql limit_PHP mysql中limit用法详解(代码示例)

    在MySQL中,LIMIT子句与SELECT语句一起使用,以限制结果集中的行数.LIMIT子句接受一个或两个offset和count的参数.这两个参数的值都可以是零或正整数. offset:用于指定要 ...

  3. python的抽象类详解_第7.19节 Python中的抽象类详解:abstractmethod、abc与真实子类...

    第7.19节 Python中的抽象类详解:abstractmethod.abc与真实子类 一. 引言 前面相关的章节已经介绍过,Python中定义某种类型是以实现了该类型对应的协议为标准的,而不是以继 ...

  4. html中transition默认,CSS3中的Transition详解

    W3C标准中对css3的transition这是样描述的:"css的transition允许css的属性值在一定的时间区间内平滑地过渡.这种效果可以在鼠标单击.获得焦点.被点击或对元素任何改 ...

  5. Python中self用法详解

    Python中self用法详解 https://blog.csdn.net/CLHugh/article/details/75000104 首页 博客 学院 下载 图文课 论坛 APP 问答 商城 V ...

  6. linux中mkdir命令含义,Linux中mkdir命令详解

    Linux中mkdir命令详解 linux mkdir用来创建目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 1. 新建一个文件夹 one 2. 新建三个 ...

  7. Oracle数据库之rownum,ORACLE数据库中Rownum用法详解

    ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(,& gt;=,=, ...

  8. ALSA声卡驱动中的DAPM详解之四:在驱动程序中初始化并注册widget和route

    前几篇文章我们从dapm的数据结构入手,了解了代表音频控件的widget,代表连接路径的route以及用于连接两个widget的path.之前都是一些概念的讲解以及对数据结构中各个字段的说明,从本章开 ...

  9. js路由在php上面使用,React中路由使用详解

    这次给大家带来React中路由使用详解,React中路由使用的注意事项有哪些,下面就是实战案例,一起来看一下. 路由 通过 URL 映射到对应的功能实现,React 的路由使用要先引入 react-r ...

最新文章

  1. 2022-2028年中国服务机器人行业市场调查研究及前瞻分析报告
  2. c# 读取mysql时间
  3. build的时候出错,fatal error LNK1103
  4. Android应用程序键盘(Keyboard)消息处理机制分析(12)
  5. 单片机高手必知的三个重要步骤(干货分享)
  6. 人们一说赚钱,都会说赢利摸式
  7. 汇桔网与分众传媒正式达成全面深度战略资本合作
  8. html js 跳出框架,现在的web框架为什么把html和js又结合在一起了?
  9. 快速获得Google Chrome最新版本
  10. 3款电脑必备的常用运行库合集,你值得拥有
  11. python源码剖析_Python源码剖析-深度探索动态语言核心技术.陈儒.PDF版www.atcpu.com...
  12. python使用大数据分析师工资待遇_2020年大数据分析师工资多少
  13. 如何做一个自律的人?
  14. 守望者的逃离 动态规划+滚动数组
  15. App Links的使用以及坑
  16. 如果能理解医生的准确意图,深度学习会是医疗诊断的未来吗?
  17. 【正点原子MP157连载】第二十三章 Linux设备树-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
  18. H5 实现电子签名功能-VUE--12301合同签署类似功能
  19. Cytoscape安装及使用
  20. 贪吃蛇大作战【C++游戏】

热门文章

  1. vue一级分类和耳机分类_【Vue+DRF生鲜电商】10.商品分类层级获取,Vue跨域请求商品分类...
  2. html中怎样引入外部字体文件路径,CSS引入外部字体
  3. python爬虫表格中清除空格_爬虫清洗:python strip()函数 去空格\n\r\t函数的用法
  4. java默认xmx修改,Java 8中的默认Xmxsize
  5. 苹果6可以分屏吗_苹果减肥法可以吃鸡蛋吗 苹果减肥法做法
  6. java面板如何设置大小_java面板调整大小问题
  7. android网络请求流程图,Android OKHttp系列1-流程总结
  8. hosts和resolv.conf区别
  9. 敏捷开发框架_他山之石-敏捷开发管理框架在设计项目中的应用
  10. windows共享使用linux生成的密钥