一 List
/*
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
var list1 = ["Dog", "Cat", "Tiger"];
print(list1);
// 添加元素
list1.add("Fox");
list1.add("Snake");
// 是否为空
print(list1.isEmpty);
print(list1.isNotEmpty);
// 反转List
var newList1 = list1.reversed.toList();
print(newList1);
// 查找元素 找到返回索引,找不到返回-1
var index_fox = list1.indexOf("Fox");
print(index_fox);
print(list1);
// 删除元素
list1.remove("Fox");
print(list1);
// 删除指定索引的元素
list1.removeAt(0);
// 删除最后一个元素
list1.removeLast();
// 插入元素
list1.insert(0, "elephant");
print(list1);
// 添加多个
list1.addAll(["Dog", "Snake", "Fox"]);
print(list1);
// 拼接起来
var join_str = list1.join("-");
print(join_str);
// 分割出来
var list2 = join_str.split("-");
print(list2);
二 Set
//Set
//用它最主要的功能就是去除数组重复内容
//Set是没有顺序且不能重复的集合,所以不能通过索引去获取值
// 创建List
var set1 = new Set();
set1.add("apple");
set1.add("orange");
set1.add("apple");
// 打印结果 {apple, orange}
print(set1);
// 数组去重方法
var list = ["Dog", "Cat", "Tiger", "Dog", "Cat", "Tiger"];
var set2 = new Set();
set2.addAll(list);
print(set2);
// 转为新数组
var list1 = set2.toList();
print(list1);
三 Map
/*
映射(Maps)是无序的键值对:
常用属性:
keys 获取所有的key值
values 获取所有的value值
isEmpty 是否为空
isNotEmpty 是否不为空
常用方法:
remove(key) 删除指定key的数据
addAll({...}) 合并映射 给映射内增加属性
containsValue 查看映射内的值 返回true/false
forEach
map
where
any
every
*/
// 创建一个map
var map1 = {"name": "Leonardo", "age": 99};
// 获取所有的键值
print(map1.keys.toList());
// 获取所有的value
print(map1.values.toList());
// 是否为空 不为空
print(map1.isEmpty);
print(map1.isNotEmpty);
//删除指定key 的数据
map1.remove("name");
// 新增
map1.addAll({
"sex": "male",
"work": ["Manager", "Doctor"]
});
print(map1);
四 for each ,every等方法
// List 的三种循环方式
List list1 = ["apple", "orange", "Lemon", "BlueBerry"];
// 1
for (int idx = 0; idx < list1.length; idx++) {
print(list1[idx]);
}
// 2
for (var item in list1) {
print(item);
}
// 3
list1.forEach((element) {
print(element);
});
// where 的使用 把满足条件的返回一个新的集合
List list2 = [13, 8, 5, 4, 2];
var list3 = list2.where((value) {
return value > 5;
});
print(list3);
// any 只要List里面有一个满足条件就返回true
var flag1 = list2.any((element) {
return element > 5;
});
// 打印结果 true
print(flag1);
//every 必须List 里面的每一个都满足条件就会返回true
var flag2 = list2.every((element) {
return element > 5;
});
// 打印结果 false
print(flag2);