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之旅.无论何时需要有关 ...
随机推荐
- brief 程序注释
/** * @brief Acceleration (g's) in body frame. * Embedded MPL defines gravity as positive accelerati ...
- 【转】win10硬盘序列号查看方法
原文:https://zixue.3d66.com/changjianwenti/tiwen_9679.html ------------------------------------------- ...
- 04 c++中的友元
c++中的类具有封装性,类中的私有数据只有该类的成员函数可以访问,程序中访问类中的私有成员,必须通过对象来调用成员函数,但是频繁的调用会使运行效率降低. 为了解决上述问题,c++中加入友元机制,友元可 ...
- BZOJ3277 串 和 BZOJ3473 字符串
字符串 给定n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中至少k个字符串的子串? 分析 参照自为风月马前卒和Candy?的题解. 广义后缀自动机不就是把很多串的SAM建到了一个S ...
- px em 和rem之间的区别
背景: px:像素是相对于显示器屏幕分辨率而言的相对长度单位.pc端使用px倒也无所谓,可是在移动端,因为手机分辨率种类颇多,不可能一个个去适配,这时px就显得非常无力,所以就要考虑em和rem. e ...
- PHP 开发者常犯的 10 个 MySQL 错误
数据库是WEB大多数应用开发的基础.如果你是用PHP,那么大多数据库用的是MYSQL也是LAMP架构的重要部分. PHP看起来很简单,一个初学者也可以几个小时内就能开始写函数了.但是建立一个稳定.可靠 ...
- spring框架面試題目
25个经典的Spring面试问答 这是在网上下载的面试题,忘记了出处,如带来不便联系本人立马删除,在这里提供给将要面试的朋友,与大家分享,希望能给您带来帮助! 问题清单: 1. 什么是Spring框架 ...
- Java - 框架之 Spring
一. IOC 和 DI IOC : 控制反转,将对象的创建权反转给了 Spring.DI : 依赖注入,前提是必须要有 IOC 的环境,Spring 管理这个类的时候将类的依赖的属性注入(设置)进来 ...
- jdango 2.x的url配置的改变
新版本的url.py文件中,不在使用1.x的正则表达式,强制使用在程序启动的时候会提示: WARNINGS: ?: (2_0.W001) Your URL pattern '^*article/' h ...
- git 查看项目代码统计命令
git log --author="xxxxxxxx" --pretty=tformat: --numstat | gawk '{ add += $1 ; subs += $2 ; ...