前言
学习教程地址
系统:macOS
软件:Android Studio 4.1.2
一、List
1、List常用属性
List myList=['香蕉','苹果','西瓜'];
print(myList.length);//length长度--3
print(myList.isEmpty);//isEmpty是否为空--true
print(myList.isNotEmpty);//isNotEmpty是否不为空--false
print(myList.reversed); //reversed对列表倒序排序--[西瓜, 苹果, 香蕉]
var newMyList=myList.reversed.toList();
print(newMyList);//[西瓜, 苹果, 香蕉]
2、List常用方法
List myList=['香蕉','苹果','西瓜'];
myList.add('桃子');//add增加一个元素
myList.addAll(['桃子','葡萄']); //addAll增加多个元素,拼接数组
print(myList);
print(myList.indexOf('苹x果'));//indexOf查找元素位置 查找不到返回-1 查找到返回索引值
myList.remove('西瓜');//remove删除一个指定元素
myList.removeAt(1);//removeAt根据下标删除对应元素
print(myList);
myList.fillRange(1, 2,'aaa');//fillRange修改指定范围1(含)--2(不含)之间的元素
myList.fillRange(1, 3,'aaa');//fillRange修改指定范围1(含)--3(不含)之间的元素
myList.insert(1,'aaa');//insert(index,value); 指定index位置插入元素value
myList.insertAll(1, ['aaa','bbb']);//insertAll(index,list)指定index位置插入多个元素list
var newMyList=myList.reversed.toList();//toList()其他类型转换成List
print(newMyList);//[西瓜, 苹果, 香蕉]
var str=myList.join('-');//join()list转换成字符串
print(str);
print(str is String);//true
var str='香蕉-苹果-西瓜';
var list=str.split('-');//split()字符串转换成List
print(list);
print(list is List);//true
3、map修改数据
//遍历值并修改,赋给newList
List myList=[1,3,4];
//两种写法,以下通用,涉及函数。
//写法1
var newList=myList.map((value){
return value*2;
});
print(newList.toList());
//写法2
var newL=myList.map((value) => value*2);
print(newL.toList());
4、where筛选数据
//遍历值并筛选出>5的值,赋给newList
List myList=[1,3,4,5,7,8,9];
var newList=myList.where((value){
return value>5;
});
print(newList.toList());
5、any、where判断数据
//遍历值并判断是否含有>5的值
List myList=[1,3,4,5,7,8,9];
//只要集合里面有满足条件的就返回true
var f=myList.any((value){
return value>5;
});
print(f);//true
//遍历值并判断是否全部>5
List myList=[1,3,4,5,7,8,9];
//全部满足条件返回true 否则返回false
var f=myList.every((value){
return value>5;
});
print(f);//false
二、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());//[香蕉, 苹果, 西瓜]
三、Map
1、Map常用属性
Map person={
"name":"张三",
"age":20,
"sex":"男"
};
print(person.keys.toList());//keys获取所有的kay值
print(person.values.toList());//values获取所有的value值
print(person.isEmpty);//是否为空--false
print(person.isNotEmpty);//是否不为空--true
2、Map常用方法
Map person={
"name":"张三",
"age":20,
"sex":"男"
};
//addAll合并Map,增加属性
person.addAll({
"work":['敲代码','送外卖'],
"height":160
});
print(person);
//remove(key)删除指定key的键值对
person.remove("sex");
print(person);
//containsValue(value)查看是否含有这个值,返回true/false
print(person.containsValue('张三'));
//clear()清空所有数据
person.clear();
print(person);
四、集合内的通用方法forEach—遍历数据
1、遍历List
//遍历所有值
List myList=['香蕉','苹果','西瓜'];
myList.forEach((value){
print("$value");
});
2、遍历Map
//遍历所有键值对
Map person={
"name":"张三",
"age":20
};
person.forEach((key,value){
print("$key---$value");
});
3、遍历Set
//遍历所有值
var s=new Set();
s.addAll([1,222,333]);
s.forEach((value)=>print(value));