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之旅.无论何时需要有关 ...
随机推荐
- Linux关闭防火墙、设置端口
关闭防火墙 1)重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off 验证防火墙是否关闭:chkconfig --list |grep ...
- 扫雷小游戏PyQt5开发【附源代码】
也没啥可介绍哒,扫雷大家都玩过. 雷的分布算法也很简单,就是在雷地图(map:二维数组)中,随机放雷,然后这个雷的8个方位(上下左右.四个对角)的数字(非雷的标记.加一后不为雷的标记)都加一. 如何判 ...
- dt开发之-自定义函数获取分类名称
需要在api/extend.func.php 文件中加入的函数 获取分类名称 cat_name($catid) 传入分类id function cat_name($catid) { global $d ...
- python_并发编程——消费者和生产者模型
消费者和生产者模型 from multiprocessing import Process,Queue import time import random class Producer(Process ...
- Spring Boot MyBatis 通用Mapper 自动生成代码
一.在pom.xml文件中进入mybatis自动生成代码相关的jar包: 注意: <configurationFile>标签中配置的是“generatorConfig.xml”文件位置. ...
- 浮点数转成字符串函数gcvt()
头文件:#include <stdlib.h> 这三个函数都是将数字转化为字符串,简单区别如下: 1.gcvt()所转换后的字符串包含小数点或正负符号 2.ecvt()的转换结果中不包括十 ...
- 使用Optional优雅处理null
先假设一个场景.如下所示 public class Person { private String name; public Person() { } public Person(String nam ...
- shiro认证+盐加密
Shiro认证 导入pom依赖 <shiro.version>1.2.5</shiro.version> <!--shiro--> <dependency&g ...
- 4:ELK分析tomcat日志
五.ELK分析tomcat日志 1.配置FIlebeat搜集tomcat日志 2.配置Logstash从filebeat输入tomcat日志 3.查看索引 4.创建索引
- Linux LVM--三种Logic Volume
本文链接:https://blog.csdn.net/u012299594/article/details/84551722 概述 为了满足在性能和冗余等方面的需求,LVM支持了下面三种Logic V ...