# 集合 List Set Map

# List

Listd的定义:

  List list1 = ['Apple', 'HuaWei', 'Sansung'];
  var item1 = list1[1];
  print(item1);//HuaWei
  var list2 = new List();
  list2.add('手机');
  list2.add('电脑');
  list2.add('电视');
  list2.addAll(['洗衣机','电冰箱']);

  print(list2);//[手机, 电脑, 电视, 洗衣机, 电冰箱]

List常用属性

属性字段 描述
length 集合长度
reversed 翻转倒序(返回并不是集合,需要调用toList方法转为集合)
isEmpty 是否为空
isNotEmpty 是否不为空

List常用方法

方法名 描述
add 增加
addAll 拼接数组
indexOf 查找索引,找不到返回-1
remove 移除具体元素
removeAt 移除指定索引的元素
fillRange 修改
insert(index,value) 指定位置插入
insertAll(index,list) 指定位置插入list
toList 其他类型转List
join List转字符串
split 字符串分割成集合
forEach 遍历
map 遍历
where 遍历筛选满足条件的元素
any 只要集合中有满足条件的返回true
every 集合每一项都满足条件的返回true

# Set

Set 不重复的集合;

Set的定义

  var set = new Set();
  set.add('Apple');
  set.addAll(['HuaWei', 'Sansung']);
  print(set); //{Apple, HuaWei, Sansung}

# Map

Map的定义

  var person = {'name': '张三', 'age': '22'};
  print(person);//{name: 张三, age: 22}
  var p = new Map();
  p['name']='李四';
  p['age']='23';
  print(p);//{name: 李四, age: 23}

List常用属性

属性字段 描述
keys 获取所有键(返回并不是集合,需要调用toList方法转为集合值
values 获取所有值(返回并不是集合,需要调用toList方法转为集合)
isEmpty 是否为空
isNotEmpty 是否不为空