Flutter/Dart - 集合类型List、Map详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter/Dart - 集合类型List、Map详解相关的知识,希望对你有一定的参考价值。
参考技术A 数组去重Map的定义
第一种定义方式
第二种定义方式
Map的属性
Map的方法
Flutter之Dart语法-数据类型
- 变量与常量
Dart中用var声明一个变量,如果想设置一个变量不可变,那么可以使用final或者const修饰。
var number;
number = 12;
print("the number is $number");
number = "20";
print(number);
final sum = 10;
const count = 2;
- 字符串
字符串的几种创建方式
- 使用单引号、双引号
- 使用三个引号、双引号创建多行字符串
- 使用r创建原始字符串,使转义字符无效
var a = 'hahha';
print(a);
var b = "hoho";
print(b);
var c = ''' I
have
a
dream
!
''';
print(c);
var d = """do
you
have
dream
?
""";
print(d);
var e = "can \\nyou \\nuse \\nflutter ?";
var f = r"can \\nyou \\nuse \\nflutter ?";
print(e);
print(f);
输出结果
//输出结果
/*
hahha
hoho
I
have
a
dream
!
do
you
have
dream
?
can
you
use
flutter ?
can \\nyou \\nuse \\nflutter ?
*/
字符串操作
- 运算符 + 、*、===、[]
String a = "11";
print(a + a);
print(a * 3);
print(a == "22");
print([a,a,a,a]);
- 插值表达式${}
- 常用属性length、isEmpty、isNotEmpty
- 常用方法
//contains
String str1 = "i am a ios developer";
String subStr = "ios";
if (str1.contains(subStr)) {
print("str1 contains subStr");
}
// substring
String subStr1 = str1.substring(12);
String subStr2 = str1.substring(8,10);
print("frist subString is $subStr1 , second subString is $subStr2");
// startsWith
bool isStart = str1.startsWith("i");
if (isStart) {
print("object");
}
// endsWith
bool isEnd = str1.endsWith("developer");
if (isEnd) {
print("object");
}
str1.indexOf("ios");
str1.indexOf("i",2);
str1.lastIndexOf("i");
str1.lastIndexOf("i",2);
String upStr = str1.toUpperCase();
String lowerStr = upStr.toLowerCase();
print(upStr + lowerStr);
str1.trim();
str1.trimLeft();
str1.trimRight();
str1.split("ios");
str1.replaceAll("ios", "flutter");
- List
dart中的数组分为可变数组和不可变数组,而且数组里面可以放不同类型的数据。List也提供了很多便捷的方法分。
//可变数组
var list = [1,2,3];
//不可变数组
var list2 = const [1,2,3,4];
//数字里面可以放不同类型的数据
var list3 = [1,2,"ios",list];
//常用方法
print(list.length); //获取长度
list.add(4); //添加元素
list.remove(4); //移除元素
list3.insert(3, "android"); //在指定索引添加元素
var index = list3.indexOf("ios"); //返回元素的索引
list3.shuffle(); //打乱数组里面的顺序
//遍历数组
list3.forEach((element) {
print(element);
});
- Map
在Dart中,Map用key-value形式储存,key和value都能是任何类型的对象,key唯一。Map同样也分为可变和不可变两种。
//创建可变Map
Map person = {
"name": "xiaoming",
"height":180,
"age":29,
};
//创建不可变Map
Map dog = const {
"name": "xiaohua",
"kind": "erha",
};
person.remove("age"); //移除key age
person.clear(); //清除map
person.addAll(dog); //把狗变成人了
person.containsKey("name"); //判断key中是否有“name”
person.containsValue("xiaoming"); //判断value中是否有“小明”
var values = person.values; //获取所有value
var keys = person.keys; //获取所有key
//遍历Map
person.forEach((key, value) {
print("dog de $key is $value");
});
以上是关于Flutter/Dart - 集合类型List、Map详解的主要内容,如果未能解决你的问题,请参考以下文章
Flutter/Dart - “List<dynamic>”不是“List<Product>”类型的子类型