Day 3

一、Set(另一种定义集合类型的方法)

1.主要功能:去除数组中重复的内容

void main(){
	var s = new Set();
	s.add('王一博');
	s.add('王二博');
	s.add('王一博');
	print(s);
	//output:{王一博,王二博}
	
	//转换成List类型
	print(s.toList());
	//output:[王一博,王二博]
}

2.一些具体的使用

//定义数组
List myList = {'王一博','王二博','王一博','王一博','王二博'};
//去重:(1)for循环;(2)Set类
var s = new Set();
s.addAll(myList);   //一次性增加多个数据
print(s);
//output:{王一博,王二博}  //集合
print(s.toList());  //完成数组去重
//output:[王一博,王二博]

二、映射(Maps)

无序的键值对

1.常用属性

属性功能
keys获取所有的key值
values获取所有的value值
isEmpty是否为空
isNotEmpty是否不为空

2.常用方法

方法功能
remove(key)删除指定key的数据
addAll({…})合并映射,给映射内增加属性
containsValue查看映射内的值,返回true/false

3.使用

(1)定义

//定义Map类型
var person1 = {
	"name" : "王一博",
	"age" : 27
};

//另一种定义
var person2 = new Map();
person["name"] = "王一博";

print(person1);
print(person2);
//output:{name:王一博,age:27}
//output:{name:王一博}

(2)属性

var person1 = {
	"name" : "王一博",
	"age" : 27
};
print(person.keys);
//output:(name,age)
print(person.keys.toList());
//output:[name,age]

print(person.values.toList());
//output:[王一博,27]

(3)方法

var person1 = {
	"name" : "王一博",
	"age" : 27
};
//批量增加key
person.addAll({
	"sex":"男",
	"work":["明星","赛车手"]
});
print(person);
//output:{name:王一博,age:27,sex:男,work:[明星,赛车手]}

//删除指定key
person.remove("sex");
print(person);
//output:{name:王一博,age:27,work:[明星,赛车手]}

//查找指定value
print(person.containsValue('王一博'));
//output:true

三、通用方法(List,Map,Set)

1.循环(forEach())

List myList = {'王一博','王一博','王三博','王一博','王二博'};
//循环:(1)for循环;
for(var i = 0; i<myList.length; i++){
	print(myList[i]);
}

for(var item in myList){
	print(item);
}
//(2)调用方法
myList.forEach((value){//只能传入一个值
	print("$value");
});

//set
var s = new Set();
s.addAll([1,2,3]);
s.forEach((value)=>print(value));
//output:1
//       2
//       3

//map
var person = {
	"name" : "王一博",
	"age" : 27
};
person.forEach((key,value){
	print("$key---$value");
});
//output:name---王一博
//       age---27

2.修改集合里的值(map())

//修改集合里的值
List myList = [1,2,3,4];
//(1)for循环;(2)调用方法

var newList = myList.map((value){
	return value*2;
});
print(newList);
//output:[2,4,6,8]

3.把满足条件的值返回成一个新的集合(where())

//把满足条件的值返回成一个新的集合
List myList = [1,2,3,4];

var newList = myList.where((value){
	return value > 2;
});
print(newList);
//output:[3,4]

4.判断List里有没有满足条件的数据(any())

有返回true,没有则返回false

List myList = [1,2,3,45678];

var f = myList.any((value){
	return value>5;
});
print(f);
//output:true

5.集合中每一个都要满足条件(every())

List myList = [1,2,3,45678];

var f = myList.every((value){
	return value>5;
});
print(f);
//output:false
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Heliotrope&G

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值