List
- 常用属性:
- length 长度
- reversed 翻转
- isEmpty 是否为空
- isNotEmpty 是否不为空
- 常用方法:
- add 增加
- addAll 拼接数组
- indexOf 查找 传入具体值
- remove 删除 传入具体值
- removeAt 删除 传入索引值
- fillRange 修改
- insert(index,value); 指定位置插入
- insertAll(index,list) 指定位置插入List
- toList() 其他类型转换成List
- join() List转换成字符串
- split() 字符串转化成List
- forEach
- map
- where
- any
- every
创建List
// 方式一
List myList=['香蕉','苹果','西瓜'];
print(myList[1]); // 苹果
// 方式二
var list=new List();
list.add('111');
list.add('222');
print(list); // [111, 222]
List属性
List myList = ['香蕉', '苹果', '西瓜'];
print(myList.length); // 3
print(myList.isEmpty); // 是否为空 false
print(myList.isNotEmpty);// 是否不为空 true
print(myList.reversed); // 对列表倒序排序 (西瓜, 苹果, 香蕉)
var newMyList = myList.reversed.toList();
print(newMyList); // [西瓜, 苹果, 香蕉]
List方法
List myList=['香蕉','苹果','西瓜’];
// 增加数据
myList.add('桃子'); // 增加数据 增加一个
myList.addAll(['桃子','葡萄']); // 拼接数组 增加多个数据
print(myList); // [香蕉, 苹果, 西瓜, 桃子, 桃子, 葡萄]
// 查找数据
print(myList.indexOf('苹x果')); // indexOf查找数据 查找不到返回-1 查找到返回索引值
// 删除数据
myList.remove('西瓜’); // remove删除一个数据
myList.removeAt(1); // 通过索引 删除一个数据
print(myList); // [香蕉, 桃子, 桃子, 葡萄]
// 修改数据
List myList=['香蕉','苹果','西瓜'];
myList.fillRange(1, 2,'aaa'); // 修改数据,修改 1,2 包括1,2之前的数据
myList.fillRange(1, 3,'aaa');
print(myList);// [香蕉, aaa, aaa]
// 插入数据
myList.insert(1,'aaa'); // 插入单个数据
myList.insertAll(1, ['aaa','bbb']); // 插入多个数据
print(myList); // [香蕉, aaa, bbb, aaa, aaa, aaa]
// 转换为字符串
List myList=['香蕉','苹果','西瓜'];
var str=myList.join('-'); //list转换成字符串
print(str); // 香蕉-苹果-西瓜
print(str is String); // true
// 字符串转List
var str = '香蕉-苹果-西瓜';
var list = str.split('-');
print(list); // [香蕉, 苹果, 西瓜]
print(list is List); // true
Set
用它最主要的功能就是去除数组重复内容 Set是没有顺序且不能重复的集合,所以不能通过索引去获取值
var s=new Set();
s.add('香蕉');
s.add('苹果');
s.add('苹果');
print(s); // {香蕉, 苹果}
print(s.toList()); // [香蕉, 苹果]
List myList=['香蕉','苹果','西瓜','香蕉','苹果','香蕉','苹果'];
var s=new Set();
s.addAll(myList);
print(s); // {香蕉, 苹果, 西瓜}
print(s.toList()); // [香蕉, 苹果, 西瓜]
Maps
映射(Maps)是无序的键值对:
- 常用属性:
- keys 获取所有的key值
- values 获取所有的value值
- isEmpty 是否为空
- isNotEmpty 是否不为空
- 常用方法:
- remove(key) 删除指定key的数据
- addAll({...}) 合并映射 给映射内增加属性
- containsValue 查看映射内的值 返回true/false
- forEach
- map
- where
- any
- every
创建Maps
Map person={
"name":"张三",
"age":20
};
var m=new Map();
m["name"]="李四";
print(person); // {name: 张三, age: 20}
print(m); // {name: 李四}
常用属性
Map person = {"name": "张三", "age": 20, "sex": "男"};
print(person.keys.toList()); // [name, age, sex] 所有key
print(person.values.toList()); // [张三, 20, 男] 所有value
print(person.isEmpty); // false 是否为空
print(person.isNotEmpty); // true 是否不为空
常用方法
Map person = {"name": "张三", "age": 20, "sex": "男"};
person.addAll({
"work": ['敲代码', '送外卖'],
"height": 160
}); // 增加值
print(person); // {name: 张三, age: 20, sex: 男, work: [敲代码, 送外卖], height: 160}
person.remove("sex”); // 删除key
print(person); // {name: 张三, age: 20, work: [敲代码, 送外卖], height: 160}
print(person.containsValue('张三')); // true value是否存在 张三
List、Set、Map 循环
- forEach
- map
- where
- any
- every
List循环
List myList = ['香蕉', '苹果', '西瓜'];
**// for**
for (var i = 0; i < myList.length; i++) {
print(myList[i]); // 香蕉 苹果 西瓜
}
// for in
for (var item in myList) {
print(item);
}
// forEach
myList.forEach((value) {
print("$value");
});
// 循环添加
List myList = [1, 3, 4];
List newList = new List();
for (var i = 0; i < myList.length; i++) {
newList.add(myList[i] * 2);
}
print(newList); // [2, 6, 8]
List myList = [1, 3, 4];
var newList = myList.map((value) {
return value * 2;
});
print(newList.toList()); // [2, 6, 8]
// where满足条件返回
List myList = [1, 3, 4, 5, 7, 8, 9];
var newList = myList.where((value) {
return value > 5;
});
print(newList.toList()); // [7, 8, 9]
// any只要存在满足条件返回 true 否则 false
List myList = [1, 3, 4, 5, 7, 8, 9];
var f = myList.any((value) {
return value > 5; // 只要集合里面有满足条件的就返回true
});
print(f); // true
// every全部满足返回 true 否则 false
List myList = [1, 3, 4, 5, 7, 8, 9];
var f = myList.every((value) {
return value > 5; // 每一个都满足条件返回true 否则返回false
});
print(f);
Set
var s = new Set();
s.addAll([1, 222, 333]);
s.forEach((value) => print(value)); // 1 222 333
Map
Map person = {"name": "张三", "age": 20};
person.forEach((key, value) {
print("$key---$value”); // name---张三 age---20
});