【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(12,'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 = [134];
// map转换,根据返回值返回新的元素列表
var newList = list.map((value) {
  return value * 2;
});
print(newList.toList());

where:获取符合条件的元素

List list = [1345789];

var newList = list.where((value){
    return value > 5;
});

print(newList.toList());

any:是否有符合条件的元素

List list = [1345789];
// 只要集合里面有满足条件的就返回true
var isContain = list.any((value) {
  return value > 5;
});
print(isContain);

every:需要每一个都满足条件

List myList = [1345789];
// 每一个都满足条件返回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");
});


C++ 快速入门

C++ 多态:派生&虚函数&模板

C语言基础快速复习


以上,便是今天的分享,希望大家喜欢,觉得内容不错的,欢迎「分享」「」或者点击「在看」支持,谢谢各位。

浏览 33
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报