注册

【Flutter】Dart语法之List & Map

【Flutter】学习笔记——Dart中的List & Map的使用



  • list列表,相当于 OC 中的 NSArray 数组,分为可变不可变两种。
  • map键值对,相当于 OC 中的 NSDictionary 字典,也分为可变不可变两种。


1. list数组



list默认都是可变的,列表中可以添加不同数据类型的数据。



1.1 可变list

void main() { 
// 直接 list创建
List a = ["1", 2, "3.0", 4.0];
print(a);

// var 创建
var list = [1, 2, "zjp", 3.0];
print(list);
}

运行结果如下:


image.png


1.2 常用方法

获取&修改指定下标数据:


// 直接获取指定下标数据 
print(list[3]);
// 直接修改指定下标数据
list[3] = "reno";

插入数据:


list.insert(1, "hellow"); // list.insert(index, element)
print(list);

删除数据:


list.remove(1); // list.remove(element)
print(list);

清空所有数据:


list.clear();
print(list);

运行结果如下:


image.png


1.3 排序和截取

void main() {
List b = [3, 4, 5, 8, 6, 7];
// 排序
b.sort();
print(b);
// 截取
print(b.sublist(1, 3));
}

运行结果如下:


image.png


1.4 不可变list


不可变的 list 需要使用const修饰。



void main() {
List b = const [3, 4, 5, 8, 6, 7];
b[3] = 10; // 报错
}

不可变list不能修改其元素值,否则会报错


image.png


2. map键值对



map默认也是可变的。



2.1 可变map

void main() {
Map a = {"a": 1, "b": 2};
print(a);

var a1 = {"a1": 1, "a2": 2};
print(a1);
}

运行结果如下:


image.png


2.2 常用方法

获取&修改指定下标数据:


// 直接获取指定下标数据 
print(a["a"]);
// 直接修改指定下标数据
a["a"] = "aa";
print(a["a"]);

获取map长度


print(a.length);

获取map所有的key


print(a.keys);

获取map所有的value


print(a.values);

运行结果如下:


image.png


2.3 不可变map


不可变的 map 也是使用const修饰。



void main() {
Map a = const {"a": 1, "b": 2};
a["a"] = 10; // 报错
}

不可变map不能修改其元素值,否则也会报错


image.png


3. list转map


void main() {
List b = ["zjp", "reno"];
print(b.asMap());
}

运行结果如下:



作者:忻凯同学
链接:https://juejin.cn/post/7085642932761395237
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

0 个评论

要回复文章请先登录注册