Flutter/Dart - 集合类型List、Map详解
2020-07-13 本文已影响0人
沫之
List详解,List里面常用的属性和方法
List的定义
- 第一种定义方法
List myList = ['1', '2', '3'];
print(myList);
- 第二种定义方法
var list = new List();
list.add(1);
list.add(2);
list.add(3);
print(list);
List里面的方法属性
- List里面的属性
print(list.length);
print(list.isEmpty);//判断数组是否为空
print(list.isNotEmpty);//判断数组是否为空
print(list.reversed);// 对列表倒序排序
- List里面的方法
List myList = ['1', '2', '3'];
//添加
myList.add('4');
print(myList); //1,2,3,4
myList.addAll(['5', '6']);
print(myList); //1,2,3,4,5,6
// 查找
print(myList.indexOf('7')); //-1
print(myList.indexOf('1')); //0
// 删除
myList.remove('1');
print(myList); //,2,3,4,5,6
myList.removeAt(0); //参数为索引值Í
print(myList); //3,4,5,6
// 修改
myList.fillRange(1, 2, 'a');
print(myList); //3,a,a,6
// 指定位置插入
myList.insert(1, 'b');
print(myList); //3,b,a,a,6
myList.insertAll(1, ['b', 'c']);
print(myList); //3,b,c,b,a,a,6
// 转换
var str = myList.join('-');
print(str); //3-b-c-b-a-a-6
var list = str.split('-');
print(list); //3,b,c,b,a,a,6
Set定义集合
- set是没有顺序且不能重复的集合,所以不能通过索引去获取值
- 可以用来去除数组重复内容
var s = new Set();
s.add(1);
s.add(2);
print(s);// {1,2}
print(s.toList());// [1,2]
数组去重
List myList2 = [1, 2, 4, 3, 2, 3, 23];
var s = new Set();
s.addAll(myList2);
print(s.toList());
Map详解,Map里面常用属性和方法
Map的定义
第一种定义方式
var person = {
"name": "张三",
"age": 20,
};
第二种定义方式
var person2 = new Map();
person2["name"] = "李四";
Map的属性
print(person.keys.toList()); //[name,age]
print(person.values.toList()); //['张三', 20]
print(person.isEmpty);
print(person.isNotEmpty);
Map的方法
// 添加属性
person.addAll({
"work": ['程序员', '外贸专家'],
"height": 180,
});
// 移除属性
person.remove("work");
// 是否包含某个值
person.containsValue("张三");
// 是否包含某个key
person.containsKey("work");