1.list
以下是一些常用的队列表进行操作的符号,后面有注释,可以借助注释看
void main(){
List list = <int>[1,2,3,4,5];
print(list);
print(list.length);
print(list[0]);
list.add(6); //添加元素 此时为[1,2,3,4,5,6]
list.remove(2); //删除指定元素 此时为[1,3,4,5,6]
list.removeAt(1); //删除指定位置的元素 此时为[1,4,5,6]
list.insert(1,2); //在指定位置插入元素 这里指的是在索引为1的位置前面插入数字2,此时列表为[1,2,4,5,6]
print(list);
print(list.contains(3)); //判断是否包含指定元素,因为此时列表为[1,2,4,5,6],所以返回false
print(list.indexOf(3)); //获取指定元素的索引,因为此时列表为[1,2,4,5,6],所以返回-1,即不存在
print(list.last); //获取列表的最后一个元素,因为此时列表为[1,2,4,5,6],所以返回6
print(list.first); //获取列表的第一个元素,因为此时列表为[1,2,4,5,6],所以返回1
list.clear(); //清空列表,此时列表为空
print(list); //此时列表为[]
list.addAll(<int>[1,3,5,7,9]); //添加多个元素,此时列表为[1,3,5,7,9]
print(list);
}
这里要注意的是,remove为移除列表里面的数字,而removeAt则是通过索引删除,insert要注意的是是在指定元素之前插入元素,而不是后面,关于remove,还有个值得注意的点,见下方:
void main(){
List list = <int>[1,2,3,4,5];
var a = list.remove(2);
var b = list.remove(10);
print(a);
print(b);
}
不妨猜一猜输出结果?第一个输出结果是2嘛?第二个会报错?
实际上,输出结果第一个是true,第二个是false,remove不会返回值,而是判断能否remove的结果,当然,只要使用了remove,就会执行,除非不能执行,如果此时打印结果,会发现结果是[1,3,4,5]
2.Set
对于集合,上次已经有所讲解,除了关于索引的部分与list不一样,因为set不能索引,其他大部分都相同,主要还是转列表和转集合
void main(){
Set s1 = {1,2,3}; //Set是一个无序的集合,不能重复
List l2 = [1,1,1,2,3,4,5,5,6];
s1.add(4);
s1.add(5);
List l1 = s1.toList();
Set s2 = l2.toSet(); //把List转成Set,去重
List l3 = s2.toList();
print(l1);
print(l3);
}
这里展示了一个单独的转列表和先转集合去重,再转列表的示例
下节会讲,map补充和函数补充
今天就先讲到这里,祝大家天天开心!代码一遍就通!没有debug的烦恼!