Flutter/Dart - 集合类型List、Map详解

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");

你可能感兴趣的:(Flutter/Dart - 集合类型List、Map详解)