Dart集合
/*
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 */ void main(){ // List myList=['香蕉','苹果','西瓜'];
// print(myList[1]); // var list=new List();
// list.add('111');
// list.add('222');
// print(list); //List里面的属性:
// List myList=['香蕉','苹果','西瓜'];
// print(myList.length);
// print(myList.isEmpty);
// print(myList.isNotEmpty);
// print(myList.reversed); //对列表倒序排序
// var newMyList=myList.reversed.toList();
// print(newMyList); //List里面的方法: // List myList=['香蕉','苹果','西瓜'];
//myList.add('桃子'); //增加数据 增加一个 // myList.addAll(['桃子','葡萄']); //拼接数组 // print(myList); //print(myList.indexOf('苹x果')); //indexOf查找数据 查找不到返回-1 查找到返回索引值 // myList.remove('西瓜'); // myList.removeAt(1); // print(myList); // List myList=['香蕉','苹果','西瓜']; // myList.fillRange(1, 2,'aaa'); //修改 // myList.fillRange(1, 3,'aaa'); // myList.insert(1,'aaa'); //插入 一个 // myList.insertAll(1, ['aaa','bbb']); //插入 多个 // print(myList); // List myList=['香蕉','苹果','西瓜']; // var str=myList.join('-'); //list转换成字符串 // print(str); // print(str is String); //true var str='香蕉-苹果-西瓜'; var list=str.split('-'); print(list); print(list is List); }
//Set
//用它最主要的功能就是去除数组重复内容
//Set是没有顺序且不能重复的集合,所以不能通过索引去获取值
void main(){
// 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());
}
/*
映射(Maps)是无序的键值对: 常用属性:
keys 获取所有的key值
values 获取所有的value值
isEmpty 是否为空
isNotEmpty 是否不为空
常用方法:
remove(key) 删除指定key的数据
addAll({...}) 合并映射 给映射内增加属性
containsValue 查看映射内的值 返回true/false
forEach
map
where
any
every */ void main(){ // Map person={
// "name":"张三",
// "age":20
// }; // var m=new Map();
// m["name"]="李四"; // print(person);
// print(m); //常用属性: // Map person={
// "name":"张三",
// "age":20,
// "sex":"男"
// }; // print(person.keys.toList());
// print(person.values.toList());
// print(person.isEmpty);
// print(person.isNotEmpty); //常用方法:
Map person={
"name":"张三",
"age":20,
"sex":"男"
}; // person.addAll({
// "work":['敲代码','送外卖'],
// "height":160
// }); // print(person); // person.remove("sex");
// print(person); print(person.containsValue('张三'));
}
/*
forEach
map
where
any
every
*/
void main(){ // List myList=['香蕉','苹果','西瓜']; // for(var i=0;i<myList.length;i++){
// print(myList[i]);
// } // for(var item in myList){
// print(item);
// } // myList.forEach((value){
// print("$value");
// }); // List myList=[1,3,4]; // List newList=new List(); // for(var i=0;i<myList.length;i++){ // newList.add(myList[i]*2);
// }
// print(newList); // List myList=[1,3,4];
// var newList=myList.map((value){
// return value*2;
// });
// print(newList.toList()); // List myList=[1,3,4,5,7,8,9]; // var newList=myList.where((value){
// return value>5;
// });
// print(newList.toList());
// List myList=[1,3,4,5,7,8,9]; // var f=myList.any((value){ //只要集合里面有满足条件的就返回true // return value>5;
// });
// print(f); // List myList=[1,3,4,5,7,8,9]; // var f=myList.every((value){ //每一个都满足条件返回true 否则返回false // return value>5;
// });
// print(f); // set // var s=new Set(); // s.addAll([1,222,333]); // s.forEach((value)=>print(value)); //map Map person={
"name":"张三",
"age":20
}; person.forEach((key,value){
print("$key---$value");
}); }
Dart集合的更多相关文章
- 【Dart学习】-- Dart之泛型
一,概述 Dart是一种可选的类型语言.Dart中的集合默认是异构的.换句话说,单个Dart集合可以托管各种类型的值.但是,可以使Dart集合保持同质值.泛型的概念可以用来实现同样的目的. 泛型的使 ...
- 没有人比我更会使用集合!对, 是dart中的集合
目录 简介 List的使用 Set的使用 Map的使用 常见的集合方法 总结 简介 dart中的集合有三个,分别是list,set和map.dart在dart:core包中提供了对于这三种集合非常有用 ...
- dart系列之:集合使用最佳实践
目录 简介 使用字面量创建集合 不要使用.length来判断集合是否为空 可遍历对象的遍历 List.from和iterable.toList where和whereType 避免使用cast 总结 ...
- [dart学习]第三篇:dart变量介绍 (二)
本篇继续介绍dart变量类型,可参考前文:第二篇:dart变量介绍 (一) (一)final和const类型 如果你不打算修改一个变量的值,那么就把它定义为final或const类型.其中:final ...
- dart正则
1.前言 API中对于正则表达式的注释是:正则表达式的规范和语义与JavaScript相同详细的规范可以参考:http://ecma-international.org/ecma-262/5.1/#s ...
- Dart语法基础
hello world // Define a function. printNumber(num aNumber) { print('The number is $aNumber.'); // Pr ...
- Dart语言特性必备了解!
学习Dart语言,必须将以下的概念熟记于心: 在dart语言中,一切皆为对象.所有的对象都是一个类的实例.甚至整数.函数.null也看做是对象.所有的对象都继承于Object类 尽管Dart是强类型语 ...
- dart基础语法
.关于 runApp() 上面的实例代码中使用了 runApp() 方法,runApp 方法接收的指定参数类型为 Widget,即: runApp(Widget).在 Flutter 的组件树(wid ...
- [Dart]语法基础
此页面向您展示如何使用每个主要Dart功能,从变量和运算符到类和库,假设您已经知道如何使用其他语言编程. 要了解有关Dart核心库的更多信息,请参阅 Dart Libraries之旅.无论何时需要有关 ...
随机推荐
- SQL进阶系列之0窗口函数
窗口函数 What's 窗口函数? 窗口函数也称为OLAP(OnLine Analytical Processing)函数,目前MySQL还不支持. 窗口函数的语法 <窗口函数> OVER ...
- Optaplanner与Google OR-Tools的区别
在规划相关的项目工作中,近两年我们的项目主要使用的是Optaplanner作为规划引擎,其核心也是一个的规划求解器(Solver).但作为另一个著名开源求解器Google OR-Tools(下称OR- ...
- 《发际线总是和我作队》第九次作业:Beta冲刺Scrum Meeting3
项目 内容 这个作业属于哪个课程 软件工程 这个作业的要求在哪里 实验十三 团队作业9:Beta冲刺与团队项目冲刺 团队名称 发际线总和我作队 作业学习目标 (1)掌握软件黑盒测试技术:(2)掌握软件 ...
- cookies localStorage和sessionStorage的区别
sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁.因此sessionStorage不是一种持久化的本地 ...
- 为什么要使用ConcurrentHashMap
好久没写过技术性文章了,还是要坚持下去.掌握的知识,能写出来或者是讲给别人听才是真正的掌握了知识,如果不善于给别人讲,实际上还是没有真正掌握相关的知识,挑个简单的写吧. 面试的时候经常会被问到hash ...
- LOJ P10131 暗的连锁 题解
每日一题 day27 打卡 Analysis 对于每条非树边 , 覆盖 x 到 LCA 和 y到 LCA 的边 , 即差分算出每个点和父亲的连边被覆盖了多少次 .被覆盖 0 次的边可以和 m 条非树边 ...
- 对数据仓库ODS DW DM的理解
原文链接:https://www.jianshu.com/p/72e395d8cb33 今天看了一些专业的解释,还是对ODS.DW和DM认识不深刻,下班后花时间分别查了查它们的概念. ODS——操作性 ...
- GitHub上的一些使用技巧
1.搜索 转:掌握 3 个搜索技巧,在 GitHub 上快速找到实用软件资源 例如 查找位于深圳的C#开发者 2.查看文件历史提交记录 定位至需要查看的文件 修改地址栏github.com 为 git ...
- Linux 检测出口IP地址
找了几个 linux 下检测出口地址的(前提是能访问外网). curl ifconfig.me curl ipinfo.io/ip curl ipecho.net/plain
- C++命令空间使用和编译
先创建目录结构 src bin obj lib include 1.创建命名空间 创建一个头文件include/head.h; #ifndef _GOOD_H #define _GOOD_H name ...