【Dart】集合梳理
共 4063字,需浏览 9分钟
·
2022-10-21 20:22
点击关注,与你共同成长!
Dart的循环表达式
for循环
for (int i = 1; i <= 1000; i++) {
print(i);
}
也可以写成:
for (var i = 1; i <= 10; i++) {
print(i);
}
对于List
的遍历可以这样做:
var list = <String>["CJ", "GTA", "GTI"];
for (var element in list) {
print(element);
}
对于Map的迭代也可以使用for循环语句:
var person = {
"name": "如初",
"age": 28,
"work": ["程序员", "iOS开发"]
};
person.forEach((key, value) {
print(value);
});
while语句
while有两种语句格式:
while(表达式/循环条件) {
}
do {
语句/循环体
} while(表达式/循环条件);
break和continue语句
break语句功能:
在switch语句中使流程跳出switch结构。
在循环语句中使流程跳出当前循环,遇到break循环终止,后面代码也不会执行
需要强调的是:
如果在循环中已经执行了break语句,就不会执行循环体中位于break后的语句。
在多层循环中,一个break语句只能向外跳出一层
break可以用在switch case中 也可以用在for循环和while循环中。
continue语句的功能:只能在循环语句中使用,使本次循环结束,即跳过循环体中下面尚未执行的语句,接着进行下次的是否执行循环的判断。
continue可以用在for循环以及while循环中,但是不建议用在while循环中,不小心容易死循环。
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
var list = ['张三','李四','王五',"小明"];
print(list.length);
print(list.isEmpty);
print(list.isNotEmpty);
print(list.reversed); // 对列表倒序排序
print(list.indexOf('李四')); // indexOf查找数据 查找不到返回-1 查找到返回索引值
list.remove('王五');
list.removeAt(2);
list.fillRange(1, 2,'a'); // 修改 1是开始的位置 2二是结束的位置
print(list);
list.insert(1,'a');
print(list);
list.insertAll(1, ['a','b']); // 插入多个
Set
Set的最主要的功能就是去除数组重复内容,它是没有顺序且不能重复的集合,所以不能通过索引去获取值。
var s = new Set();
s.add('A');
s.add('B');
s.add('B');
print(s); //{A, B}
当add相同内容时候无法添加进去的。
Set可以通过add方法添加一个List,并清除值相同的元素:
var list = ['香蕉', '苹果', '西瓜', '香蕉', '苹果', '香蕉', '苹果'];
var s = new Set();
s.addAll(list);
print(s);
print(s.toList());
Map常用属性和方法
Map是无序的键值对,它的常用属性主要有以下:
常用属性
keys 获取所有的key值
values 获取所有的value值
isEmpty 是否为空
isNotEmpty 是否不为空
常用方法
remove(key) 删除指定key的数据
addAll({...}) 合并映射 给映射内增加属性
containsValue 查看映射内的值 返回true/false
forEach
map
where
any
every
map转换
List list = [1, 3, 4];
// map转换,根据返回值返回新的元素列表
var newList = list.map((value) {
return value * 2;
});
print(newList.toList());
where:获取符合条件的元素
List list = [1, 3, 4, 5, 7, 8, 9];
var newList = list.where((value){
return value > 5;
});
print(newList.toList());
any:是否有符合条件的元素
List list = [1, 3, 4, 5, 7, 8, 9];
// 只要集合里面有满足条件的就返回true
var isContain = list.any((value) {
return value > 5;
});
print(isContain);
every:需要每一个都满足条件
List myList = [1, 3, 4, 5, 7, 8, 9];
// 每一个都满足条件返回true 否则返回false
var flag = myList.every((value){
return value > 5;
});
print(flag);
Set使用forEach遍历
var s=new Set();
s.addAll([11,22,33]);
s.forEach((value) => print(value));
Map使用forEach遍历
Map person = {
"name": "张三",
"age": 28
};
person.forEach((key, value){
print("$key -> $value");
});
以上,便是今天的分享,希望大家喜欢,觉得内容不错的,欢迎「分享」「赞」或者点击「在看」支持,谢谢各位。