04基础语法——集合类型方法属性

List

dart里面的list就相当于js里面的数组,同样也存在一些相似的方法属性。

  • 属性

  • length:返回一个List集合的长度。

  • reversed:翻转一个List集合(注意返回的并不是一个List类型的数据,需要将翻转的值再次进行toList()操作转换为List类型)。

  • isEmpty:是否为空,为空返回true,否则返回false。

  • isNotEmpty:是否不为空,不为空返回true,否则返回false。

  • 方法

  • add(n):往List里面添加一个元素

  • addAll(n):往List里面添加多个元素,n为一个List集合。

  • indexOf(n):查找数据,返回元素索引,查不到返回-1。

  • lastIndexOf(n):从右往左查找数据,返回元素索引,查不到返回-1。

  • remove(n):删除某个元素,n为传入某个具体的值。

  • removeAt(n):删除某个元素,n为传入元素下标。

  • fillRange(n,m,z):修改集合。n为开始位置,m为结束位置。z为修改后的值。

  • insert(n, m):在指定位置插入元素。n为插入的位置,m为插入的元素。

  • insertAll(n, m):在指定位置插入多个元素。n为插入的位置,m为插入元素的集合。

  • clear():清空集合。

  • toList():将其他类型转换为List类型。

  • join(n):将List类型转换为字符串类型,n为拼接元素的字符。

  • split(n):将字符串转换为List,以n字符为切割符。

  • asMap():将集合转为Map类型。下标为键,元素为值。

  • toSet():将集合转换为Set类型并且去重。

  • sort():对集合进行排序。

  • shuffle():打乱集合顺序。

  • sublist(n, m):切割集合,n为起始位置,m为终止位置。

  • contains(n):是否包含元素n。包含返回true,否则返回false。

List

Set是没有顺序且不能重复的集合,所以不能用下标进行获取,多用于去重。
set常用的方法有add(), addAll(), toList(), remove(), contains()contains()

Map

dart里面的list就相当于js里面的对象
属性
Map里面有几个特殊的方法:keys, values,可以分别获取Map里面的键和值。其余属性大同小异。
方法

  • Map有两种方法添加元素,一种是直接添加map[键] = 值,还有一种是使用addAll(n)方法,n为一个Map对象。
  • containsKey(n):判断是否包含n这个key。
  • containsValue(n):判断是否包含n这个value。
遍历方法

forEach:遍历出每个元素。

main(List args) {
 List list = [1,2,3,4,5];
 Set set = {1,2,3,4,5};
 Map map = {"name": 'fufu', "age": "20"};
 list.forEach((item) {
   print(item);
 });  //1,2,3,4,5
 set.forEach((item) {
   print(item);
 });  //1,2,3,4,5
 map.forEach((key, val) {
   print('$key---$val');
 });
} 
//name---fufu
// age---20

map:返回执行方法后的每个元素。

main(List args) {
 List list = [1,2,3,4,5];
 Set set = {1,2,3,4,5};
 Map map = {"name": 'fufu', "age": "20"};
 var newList = list.map((item) {
   return item * 2;
 });  
 print(newList.toList());//[2, 4, 6, 8, 10]
 var newSet = set.map((item) {
    return item * 2;
 });  
 print(newSet.toList());  //[2, 4, 6, 8, 10]
} 

where:返回符合田间的元素。

main(List args) {
 List list = [1,2,3,4,5];
 Set set = {1,2,3,4,5};
 Map map = {"name": 'fufu', "age": "20"};
 var newList = list.where((item) {
   return item > 3;
 });  
 print(newList.toList());//[4,5]
 var newSet = set.where((item) {
    return item > 3;
 });  
 print(newSet.toList());  //[4,5]
} 

any:有一个元素满足条件则返回true。

main(List args) {
 List list = [1,2,3,4,5];
 Set set = {1,2,3,4,5};
 Map map = {"name": 'fufu', "age": "20"};
 var newList = list.any((item) {
   return item > 3;
 });  
 print(newList);//true
 var newSet = set.any((item) {
    return item > 3;
 });  
 print(newSet);  //true
} 

every:所有元素满足条件返回true。

main(List args) {
 List list = [1,2,3,4,5];
 Set set = {1,2,3,4,5};
 Map map = {"name": 'fufu', "age": "20"};
 var newList = list.every((item) {
   return item > 3;
 });  
 print(newList);//false
 var newSet = set.every((item) {
    return item > 3;
 });  
 print(newSet);  //false
} 

你可能感兴趣的:(04基础语法——集合类型方法属性)