1.List
常用属性有:
1)length 长度
2)reversed 翻转
- isEmpty 是否为空
4)isNotEmpty 是否不为空
常用方法有:
1)add 增加
2)addAll 拼接数组
3)indexOf 查找 传入具体值
-
remove 删除 传入具体值
-
removeAt 删除 传入索引值
-
fillRange 修改
7)insert(idnex,value) 指定位置插入
8)insertAll 指定位置插入List
9)toList 其他类型转换成List
- join List转换成字符串
11)split 字符串转换成List
//1.List的常用属性
List<String> list = ['aa', 'bbb', 'ccc'];
print(list.length);
print(list.isEmpty);
print(list.isNotEmpty);
print(list.reversed);
print(list.reversed.toList()); //reversed转成的类型不是List
//2.List中的常用方法
//2.1 add addAll
List<String> fruitList = ['苹果', '香蕉'];
fruitList.add('橙子');
print(fruitList);
fruitList.addAll(['猕猴桃', '车厘子']);
print(fruitList);
//2.2 indexOf查看元素所在的索引,没有则返回-1
print(fruitList.indexOf('苹果xx'));
print(fruitList.indexOf('车厘子'));
//2.3 remove removeAt 删除元素
fruitList.remove('车厘子');
print(fruitList);
fruitList.removeAt(0);
print(fruitList);
//2.4fillRange 指定区间的元素修改为指定的内容
fruitList.fillRange(1, 3, "aaa");
//集合的第2和3项都会修改为aaa
print(fruitList);
//2.5 insert insertAll在指定位置插入数据
fruitList.insert(1, 'bbb');
print(fruitList);
fruitList.insertAll(1, ['111', '222']);
print(fruitList);
//2.6 join 将List转换成字符串
print(fruitList.join(','));
//2.7 split 将字符串分割,变成一个List
String str = '111-222-333';
List<String> numList = str.split('-');
print(numList);
2.Set
它最主要的功能就是去除数组重复内容
Set是没有顺序且不能重复的集合,所以不能通过索引去获取值
//1.set的基本使用
Set<String> set = new Set();
set.add('苹果');
set.add('香蕉');
set.add('苹果');
print(set);
//2.使用Set对List中的重复数据进行过滤
List<String> fruitList = ['苹果', '香蕉', '菠萝', '苹果'];
Set<String> fruitSet = new Set();
fruitSet.addAll(fruitList);
print(fruitSet);
print(fruitSet.toList());
3.Map
Map是无序的键值对。
常用的属性:
keys 获取所有的key值
values 获取所有的value值
isEmpty 是否为空
isNotEmpty 是否不为空
常用的方法:
remove(key) 删除指定key的数据
addAll({...}) 合并映射 给映射增加属性
containsValue 查看映射内的值 返回true/false
//1.第一种方式
Map<String, Object> map1 = {"name": 'xiaoming', "age": 20};
//第二种方式
Map<String, Object> map2 = new Map();
map2['name'] = 'zhangsan';
print(map1);
print(map2);
//常用属性
print(map2.keys.toList());
print(map2.values.toList());
print(map2.isEmpty);
print(map2.isNotEmpty);
//添加键值对
//1.第一种方式
map2['height'] = 30;
print(map2);
//2.第二种方式 addAll
map2.addAll({
"work": ['语文', '数学'],
"hobby": ['篮球', '足球']
});
print(map2);
//是否含有某个键或者值
print(map2.containsKey('hobby'));
print(map2.containsValue(30));
4.foreach、map、where、any和where操作
forEach List、Map、Set皆有
map 变换操作
where 筛选操作
any 一个为真皆为真
every 所有为真才为真
//List
//1.for循环
List<String> list = ['111', '222', '333'];
for (int i = 0; i < list.length; i++) {
print(list[i]);
}
for (String item in list) {
print('item:$item');
}
//2.foreach循环
list.forEach((element) {
print(element);
});
//map方法转换List
List<int> numList = [1, 2, 3, 4, 5];
Iterable<int> newList = numList.map((e) {
return e * e;
});
print(newList);
//where
Iterable<int> filterList = numList.where((element) => element > 3);
print(filterList);
//any 任意一个为真,则为真
//every 所有的为真,则为真
print(numList.any((element) => element >= 0));
print(numList.every((element) => element > 5));
//Map的forEach
Map<String, Object> pairList = {"name": 'xiaoming', "age": 20};
pairList.forEach((key, value) {
print('key:$key,value:$value');
});
//Set的forEach用法
Set<String> animalSet = new Set();
animalSet.add('狮子');
animalSet.add('老虎');
animalSet.forEach((element) {
print('element:$element');
});
以上的这些属性和方法在实际开发中用得还是很频繁的,熟悉这些的灵活运用能提升开发效率。