Flutter循序渐进==>数据结构(列表、映射和集合)和错误处理

csdn推荐

导言

填鸭似的教育确实不行,我高中时学过集合,不知道有什么用,毫无兴趣,等到我学了一门编程语言后,才发现集合真的很有用;可以去重,可以看你有我没有的,可以看我有你没有的;列表是我最喜欢的数据结构,我最喜欢把列表和元组结合起来用,比如[(张飞,刘备集团),(贾诩,曹操集团)]。映射,也就是Python里面的字典,也是我的最爱之一!让学习变得有趣起来,就用三国混战来举例吧!

列表映射和集合出场

错误处理

//叫一个没来的将领,会发生什么?
try{
  String myGengeral = generalInfo['马超'];
}catch(e){
  print('出错:$e');
}

出错:type 'Null' is not a subtype of type 'String'

代码

void main(){
  print('***************************列表**********************************');
  List generals = ['赵云','吕布','典韦','夏侯惇','赵云'];
  String liubeiGroup = generals[0];
  print('刘备集团将领有:$liubeiGroup');
  //典韦要保护曹操的,换曹仁出场
  generals[2] = '曹仁';
  print('曹操换人后,出场混战的将领有:$generals');
  //孙权说:“你们又不带我玩?我要派甘宁来参加!”
  generals.add('甘宁');
  print('孙权加人后,出场混战的将领有:$generals');
  //曹操说:“像吕布这种小人,不要让他入场,必须德才兼备才有资格入场!”
  generals.remove('吕布');
  print('移除人品差的后,出场混战的将领有:$generals');
  //组委会主席汉献帝说:“让我统计下参赛选手数量,听我念名单依次入场!”
  print('汉献帝宣布:总决赛出场混战的将领总共有:${generals.length}位!');
  for (String general in generals){
    print('请入场:$general!');
  }
  print('***************************映射**********************************');
  Map generalInfo = {
    '名字':'赵云',
    '公司':'刘备集团',
    '性别':'男',
  };
  print('性别有点多余');
  generalInfo.remove('性别');
  print(generalInfo);
  print('第一个出场的是${generalInfo['名字']}');
  //自我介绍了说了名字么?
  print('${generalInfo.containsKey('名字')}');
  List keys = generalInfo.keys.toList();
  print(keys);
  List values = generalInfo.values.toList();
  print(values);
  generalInfo.forEach((key,value){
    print('$key:$value');
  });
  print('***************************集合**********************************');
  Set newGenerals = {'刘备','张飞','关羽','关羽'};
  print(newGenerals);
  //上面那个列表里面,赵云报了两次名,这是不行的
  List uniGenerals = generals.toSet().toList();
  print(uniGenerals);
}

文章来源:https://blog.csdn.net/simazhao/article/details/139842028



微信扫描下方的二维码阅读本文

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容