可以直接打印list包括list的元素,list也是一个对象。但是java必须遍历才能打印list,java若直接打印list,结果是地址值。
和java一样list里面的元素必须保持类型一致,不一致就会报错。
和java一样list的角标从0开始。
Dart的list集合给我们提供了很多api,示例如下,api太多就不逐个展示了:
Dart中的map是将键和值相关联的对象。键和值都可以是任何类型的对象。每个键只出现一次,但您可以多次使用相同的值。
(1)创建方式:
直接声明,用{}表示,里面写key和value,每组键值对中间用逗号隔开。
Map companys = {'first': '阿里巴巴', 'second': '腾讯', 'fifth': '百度'};
print(companys);//打印结果 {first: 阿里巴巴, second: 腾讯, fifth: 百度}
先声明,再去赋值。
Map companys1 = new Map();
companys1['first'] = '阿里巴巴';
companys1['second'] = '腾讯';
companys1['fifth'] = '百度';
print(companys1);
//打印结果 {first: 阿里巴巴, second: 腾讯, fifth: 百度}
要创建一个编译时常量const的map,请在map文字之前添加const:
final fruitConstantMap = const {2: 'apple',10: 'orange',18: 'banana'};
// 打印结果{second: 腾讯, fifth: 百度, 5: 华为}
(2)添加元素。格式: 变量名[key] = value,其中key可以是不同类型。
添加一个新的元素,key为“5”,value为“华为”
companys[5] = '华为';
print(companys);//打印结果 {first: 阿里巴巴, second: 腾讯, fifth: 百度, 5: 华为}
(3)修改元素。格式:变量名[key] = value
例如:把key为first的元素对应的value改成 alibaba
companys['first'] = 'alibaba';
print(companys);//打印结果 {first: alibaba, second: 腾讯, fifth: 百度, 5: 华为}
(4)查询元素
bool mapKey = companys.containsKey('second');
bool mapValue = companys.containsValue('百度');
print(mapKey); //结果为:true
print(mapValue); //结果为:true
(5)删除元素.可以使用map的remove或者clear方法。
companys.remove('first');// 移除key为“first”的元素。
print(companys);// 打印结果{second: 腾讯, fifth: 百度, 5: 华为}
companys.clear();// 清空map集合的数据。
print(companys);// 打印结果{}
(6)关于map集合的小结:
创建map有两种方式。
map的key类型不一致也不会报错。
添加元素的时候,会按照你添加元素的顺序逐个加入到map里面,哪怕你的key不连续。
比如key分别是 1,2,4,看起来有间隔,事实上添加到map的时候{1:value,2:value,4:value} 这种形式。
添加的元素的key如果是map里面某个key的英文,照样可以添加到map里面,
比如可以为3和key为three可以同时存在。
map里面的key不能相同,但是value可以相同,value可以为空字符串或者为null。