文章目录

  • I . 定义集合并初始化
  • II . 集合泛型用法
  • III . 集合添加元素
  • IV . 集合生成函数
  • V . 集合遍历
  • VI . 集合示例代码

I . 定义集合并初始化


定义并初始化 List 集合 : 定义集合 , 并对集合初始化 ;

① 集合元素数据类型 : 集合元素类型是泛型的 , 可以接受任何数据类型 ;

② 集合元素种类 : 如果没有指定泛型 , 集合中可以存放不同类型的元素 ,

③ 举例 : 在一个未指定泛型的集合中同时存放 int , double , String , bool 类型的元素 ;

④ List 集合初始化添加元素 : 使用 [] 初始化集合元素 ;

List list = [1, 1.0, '字符串' , true];//使用 print 可以直接打印集合
//打印集合 list : [1, 1.0, 字符串, true]
print("打印集合 list : $list");

II . 集合泛型用法


集合泛型 :

① 指定泛型 : 如果集合声明时 , 指定了泛型 , 那么就只能存放该泛型类型的元素 ;

( 指定 int 泛型类型的集合 , 只能存放 int 类型的元素 )

② 赋值限制 : 泛型不同的 List 集合斌量之间不能相互赋值 ;

List<int> list_int = [1 , 2, 3];//打印集合 list1 : [1, true]
print("打印集合 list_int : $list_int");

III . 集合添加元素


1 . 集合元素添加 : 集合除了在初始化时添加元素外 , 还可以调用集合的 add ( ) 和 addAll ( ) 添加元素 ;

2 . 添加单个元素 : 通过 add ( ) 方法 添加单个元素 ;

List list1 = [];list1.add(1);
list1.add(true);//打印集合 list1 : [1, true]
print("打印集合 list1 : $list1");

3 . 添加多个元素 : 通过 addAll ( ) 方法 添加多个元素 ;

List list = [1, 1.0, '字符串' , true];
List list2 = [];list2.addAll(list);//打印集合 list2 : [1, 1.0, 字符串, true]
print("打印集合 list2 : $list2");

IV . 集合生成函数


1 . 集合生成函数 : 调用集合 List 的 generate ( ) 方法 , 可以调用生成函数生成根据需求产生的元素 ;

2 . generate ( ) 函数原型 :

① int length 参数 : List 集合元素个数 ;

② E generator(int index) 参数 : 生成元素的回调函数 , 其中 index 是元素索引值 ;

  /*** Generates a list of values.** Creates a list with [length] positions and fills it with values created by* calling [generator] for each index in the range `0` .. `length - 1`* in increasing order.**     new List<int>.generate(3, (int index) => index * index); // [0, 1, 4]** The created list is fixed-length unless [growable] is true.*/factory List.generate(int length, E generator(int index),{bool growable = true}) {List<E> result;if (growable) {result = <E>[]..length = length;} else {result = List<E>(length);}for (int i = 0; i < length; i++) {result[i] = generator(i);}return result;}

3 . 代码示例 :

//集合的生成函数
//  int length 参数 : 集合的长度
//  E generator(int index) : 集合的回调函数 , 调用该函数获取集合的 index 位置的元素
List list_generate = List.generate(3, ( index ) => index * 3);//打印集合 list_generate : [0, 3, 6]
print("打印集合 list_generate : $list_generate");

V . 集合遍历


1 . 通过 带循环条件的 普通 for 循环遍历 :

// 1 . 方式 1 : 通过下标访问集合
for(int i = 0; i < list_generate.length; i ++){print(list_generate[i]);
}

2 . 通过 var obj in list_generate 样式的 for 循环遍历 :

// 2 . 方式 2 : 通过 var obj in list_generate 获取集合中的元素
for( var obj in list_generate ){print(obj);
}

3 . 通过 For Each 循环遍历 :

// 3 . 方式 3 : For Each 循环
list_generate.forEach( ( element ){print(element);
} );

VI . 集合示例代码


1 . 示例代码 :


import 'package:flutter/material.dart';class DartType_List extends StatefulWidget {@override_DartType_ListState createState() => _DartType_ListState();
}class _DartType_ListState extends State<DartType_List> {@overrideWidget build(BuildContext context) {listDemo();return Container(child: Text('List 数据类型'));}/*** List 示例集合*/listDemo(){// I . 定义集合//定义集合 , 并对集合初始化//  集合元素数据类型 : 集合元素类型是泛型 , 可以接受任何数据类型//  集合元素种类 : 如果没有指定泛型 , 集合中可以存放不同类型的元素//      如在一个未指定泛型的集合中同时存放 int , double , String , bool 类型的元素//  初始化添加元素 : 使用 [] 初始化集合元素List list = [1, 1.0, '字符串' , true];//使用 print 可以直接打印集合//打印集合 list : [1, 1.0, 字符串, true]print("打印集合 list : $list");// II . 集合泛型用法//如果集合声明时 , 指定了泛型 , 那么就只能存放该泛型类型的元素//  如 : 指定 int 泛型类型的集合 , 只能存放 int 类型的元素//       泛型不同的 List 集合斌量之间不能相互赋值//       不能将上面的 list 集合赋值给 该 list_intList<int> list_int = [1 , 2, 3];//打印集合 list1 : [1, true]print("打印集合 list_int : $list_int");// III . 初始化后添加元素//集合除了在初始化时添加元素外//  还可以调用集合的 add ( ) 和 addAll ( ) 添加元素// 通过 add ( ) 方法 添加单个元素List list1 = [];list1.add(1);list1.add(true);//打印集合 list1 : [1, true]print("打印集合 list1 : $list1");// 通过 addAll ( ) 方法 添加多个元素List list2 = [];list2.addAll(list);//打印集合 list2 : [1, 1.0, 字符串, true]print("打印集合 list2 : $list2");// IV . 集合的生成函数//集合的生成函数//  int length 参数 : 集合的长度//  E generator(int index) : 集合的回调函数 , 调用该函数获取集合的 index 位置的元素List list_generate = List.generate(3, ( index ) => index * 3);//打印集合 list_generate : [0, 3, 6]print("打印集合 list_generate : $list_generate");// V . 集合遍历// 1 . 方式 1 : 通过下标访问集合for(int i = 0; i < list_generate.length; i ++){print(list_generate[i]);}// 2 . 方式 2 : 通过 var obj in list_generate 获取集合中的元素for( var obj in list_generate ){print(obj);}// 3 . 方式 3 : For Each 循环list_generate.forEach( ( element ){print(element);} );}}

2 . 执行结果 :

打印集合 list : [1, 1.0, 字符串, true]
打印集合 list_int : [1, 2, 3]
打印集合 list1 : [1, true]
打印集合 list2 : [1, 1.0, 字符串, true]
打印集合 list_generate : [0, 3, 6]
0
3
6
0
3
6
0
3
6

【Flutter】Dart 数据类型 List 集合类型 ( 定义集合 | 初始化 | 泛型用法 | 初始化后添加元素 | 集合生成函数 | 集合遍历 )相关推荐

  1. python集合类型的四种操作符_深入解析Python中的集合类型操作符

    (1)标准类型操作符(所有的集合类型) 成员关系 (in, not in) 就序列而言,Python中的in和not in操作符决定某个元素是否是一个集合中的成员. 集合等价/不等价 等价/不等价被用 ...

  2. Flutter Dart问题记录 - Package类型项目的平台支持

    文章目录 前言 开发环境 问题描述 问题分析 解决方案 总结 最后 前言 在Flutter问题记录 - Flutter插件创建Package项目报错:At least one platform mus ...

  3. python集合类型一般应用的场景包括_Python学习,数据类型,python,篇

    集合 集合类型定义 集合就是多个元素的无序组合,在python中集合类型与数学中的集合概念一致,集合元素间具有无序性,互异性,唯一性.集合的元素不可更改并且不能是可变的数据类型. python中集合用 ...

  4. Python集合类型详解(一)——集合定义与集合操作符

    今天继续给大家介绍Python相关知识,本文主要内容是Python集合类型定义与集合操作符. 一.集合类型定义 在Python中,集合是一种非常重要的组合数据类型.Python中的集合与数学中的集合非 ...

  5. .net集合类型的接口说明与使用

    本文介绍了.net集合类型的接口说明与使用,内容比较简单,主要是为了理清思路以及明确集合类型作为参数和返回值时的使用规范,关于集合类型的更多讨论也可以参看:认识.NET的集合. NET类库提供了丰富的 ...

  6. python建立空集合_「python」集合类型及操作

    目录: 集合类型定义 集合操作符 集合处理方法 集合类型应用场景 1 集合类型定义 集合是多个元素的无序组合 集合用大括号 {} 表示,元素间用逗号分隔 建立集合类型用 {} 或 set() 建立空集 ...

  7. 集合类型及其操作(复习)

    集合类型及其操作一.概述集合类型定义集合操作符集合处理方法集合类型应用场景二.集合类型定义集合是多个元素的无序组合集合类型与数学中的集合概念一致集合元素之间无序,每个元素唯一,不存在相同元素集合是多个 ...

  8. oracle集合类型详解

    1.集合类型 1.1关联数组 1.2嵌套表 1.3 可变长的数组 2.声明集合类型 2.1声明关联数组 2.2声明嵌套表 2.3声明VARRAY 3.集合变量的声明和初始化 3.1集合变量的声明 3. ...

  9. Oracle集合类型

    所谓集合是一种类似于列表或者一维数组的数据结构.PL/SQL提供了三种集合类型:关联数据组(索引表),嵌套表和VARRAY(可变长数组). 1.集合类型 1.1关联数组 关联数组(也称为索引表)是一组 ...

最新文章

  1. CSS3绘制圆角矩形的简单示例
  2. 服务器tcp连接占满_漫画 | 一台Linux服务器最多能支撑多少个TCP连接?
  3. DCMTK:图像服务器中央测试节点(ctn)主程序
  4. Django2 Web 实战03-文件上传
  5. 关于BEA-000402和BEA-000438(没有进程来读取写入管道的数据)
  6. Docker容器开机自动启动
  7. 操作系统的发展与分类
  8. JAVA JDK 、Maven、IDEA安装
  9. Spring动态的切换数据源
  10. docker-2 深入了解docker
  11. 181116每日一句
  12. Google 谷歌翻译 API
  13. TI 库仑计高级篇之Chemistry 创建
  14. 杨辉三角(Python)
  15. Vue的一些API理解整理,如何一次引入多次调用
  16. 单树莓派/双树莓派+USRP+srsLTE分布式搭建4G LTE微基站
  17. linux下的蓝牙驱动程序详解
  18. 女性三围的检测验证js-------格式 20,30,40
  19. Go chan基础1
  20. iOS公司开发者账号申请详细教程

热门文章

  1. oracle用dual创建临时表,Oracle 学习系列之二(会话与事务级临时表和dual表 )
  2. 怎么做安全生产月PPT专题课件?
  3. CF 617E 莫队
  4. jop怎么读音英语怎么说_job怎么读?
  5. 并联串联混合的电压和电流_用“串反并同”和“等效电源”秒解电压、电流、功率怎么变的问题...
  6. Socks5代理:网络安全的重要工具
  7. python 微信群男女比例分析,区域分析,柱状图显示
  8. 大型Solidworks装配设计与仿真工作站配置方案
  9. python下载电影视频_python爬虫:抓取下载电影文件,合并ts文件为完整视频
  10. 无水印的html5制作软件,无水印剪辑视频