1. List
常用属性
属性 | 功能 |
---|---|
length | 长度 |
reversed | 倒序排序 |
isEmpty | 是否为空 |
isNotEmpty | 是否不为空 |
常用方法
List fruits = ['香蕉', '苹果', '西瓜'];
1. 增加
add: 增加一个
fruits.add('桃子');
addAll: 拼接数组(增加多个)
fruits.addAll(['葡萄', '梨']);
2. 查找
indexOf: 若查找成功则返回索引值,否则返回-1
print(fruits.indexOf('苹果')); // 输出结果:1
print(fruits.indexOf('火龙果')); // 输出结果:-1
3. 删除
remove
removeAt
fruits.remove('西瓜');
fruits.removeAt(2);
4. 修改
fillRange(int start, int end, [dynamic fillValue])
fruits.fillRange(1, 2, "火龙果");
print(fruits); // 输出结果:[香蕉, 火龙果, 西瓜]
fruits.fillRange(1, 3, "火龙果");
print(fruits); // 输出结果:[香蕉, 火龙果, 火龙果]
5. 插入
insert
fruits.insert(1, "火龙果");
print(fruits); // 输出结果:[香蕉, 火龙果, 苹果, 西瓜]
insertAll
List fruits = ["香蕉", "苹果", "西瓜"];
fruits.insertAll(1, ["火龙果", "梨"]);
print(fruits); // 输出结果:[香蕉, 火龙果, 梨, 苹果, 西瓜]
6. List与字符串类型转换
join: 将List转换成字符串
List fruits = ["香蕉", "苹果", "西瓜"];
var str = fruits.join(',');
print(fruits); // 输出结果:[香蕉, 苹果, 西瓜]
print(str); // 输出结果:香蕉,苹果,西瓜
split: 将字符串转换成List
var str = "香蕉-苹果-西瓜";
var fruits = str.split('-');
print(fruits); // 输出结果:[香蕉, 苹果, 西瓜]
2. Set
Set是无序且不能重复的集合,所以不能通过索引去获取值
使用Set最主要的功能是去除数组中的重复内容
定义Set
var s = new Set();
s.add('香蕉');
s.add('苹果');
s.add('苹果');
print(s); // 输出结果:{香蕉, 苹果}
转换为List
s.toList()
对List进行去重
List myList = ['香蕉', '苹果', '西瓜', '香蕉', '苹果','西瓜', '香蕉','西瓜'];
var s = new Set();
s.addAll(myList);
print(s.toList()); // 输出结果:[香蕉, 苹果, 西瓜]
3. Map
映射(Map)是无序的键值对集合
常用属性
属性 | 功能 |
---|---|
keys | 获取所有的key值 |
values | 获取所有的value值 |
isEmpty | 是否为空 |
isNotEmpty | 是否不为空 |
常用方法
Map person = {
"name": "张三",
"age": 20,
"sex": "男"
};
1. 增加
addAll
person.addAll({
"work": ["敲代码", "送外卖"],
"height": 160
});
2. 删除
remove
person.remove("sex");
3. 查找
containsValue: 若找到返回true, 否则返回false
person.containsValue('张三');
4. 其他常用方法
1. forEach
List
List fruits = ['香蕉', '苹果', '西瓜'];
fruits.forEach((fruit) {
print("$fruit");
});
Set
var s = new Set();
s.addAll([1, 22, 333]);
s.forEach((element) => print(element));
Map
Map person = {"name": "张三", "age": 20, "sex": "男"};
person.forEach((key, value) {
print("$key---$value");
});
2. map
List myList = [1, 5, 9];
var newList = myList.map((e) => e * 2).toList();
print(newList); // 输出结果:[2, 10, 18]
3. where
List myList = [1, 5, 9];
var newList = myList.where((element) => element > 5).toList();
print(newList); // 输出结果:[9]
4. any
若集合中有满足的条件则返回true
List myList = [1, 5, 9];
var a = myList.any((element) {
return element > 5;
});
print(a); // 输出结果:true
5.every
如果集合中的每一个元素都满足条件则返回true
List myList = [1, 5, 9];
var a = myList.every((element) {
return element > 5;
});
print(a); // 输出结果:false