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
}