void main() {
// 常用属性和方法
List lists = ["语文", "英语", "数学"];
print(lists[1]);
var list = new List();
list.add("语文");
list.add("英语");
list.add("数学");
print(list[0]);
//List里面的属性
print(list.length);
print(list.isEmpty);
print(list.isNotEmpty);
print(list.reversed.toList());
//List里面的方法
list.add("物理");
print(list);
list.addAll(["化学", "地理"]);
print(list);
print("----------0");
//查找不到返回-1,否则返回索引
print(list.indexOf("化学"));
print("----------1");
//删除元素
list.remove("地理");
print(list);
//把英语修改为English
list.fillRange(1, 2, "English");
print("----------2");
print(list);
print("----------3");
//插入数据
list.insert(2, "生物");
print(list);
print("----------4");
//list 转换为字符串
var str = list.join(",");
print(str);
print("----------5");
//字符串转换为List
var myList = str.split(",");
print(myList);
print("----------6");
//Set集合:没有顺序且不能重复的集合
var set = new Set();
set.add("苹果");
set.add("橘子");
set.add("橙子");
print(set);
print("----------7");
print(set.toList());
print("----------8");
//利用set去除重复数据
List list1 = ["苹果", "香蕉", "苹果", "香蕉", "苹果"];
print(list1);
var s = new Set();
s.addAll(list1);
print(s.toList());
print("----------9");
//Map
var person = {"name": "王五", "age": 30};
print(person);
print("----------10");
var map = new Map();
map["name"] = "张三";
map["age"] = 28;
print(map);
print("----------11");
//常用属性
//获取所有的key
print(person.keys.toList());
print("----------12");
//获取所有的valus
print(person.values.toList());
print("----------13");
print(person.isEmpty);
print(person.isNotEmpty);
print("----------14");
//常用方法
person.addAll({"sex": "男"});
print(person);
print("----------14");
person.remove("name");
print(person);
print("----------15");
print(person.containsKey("age"));
print(person.containsValue(30));
print("----------16");
// forEach、map、where、any、every 可用于List Map、Set
List l = ["南京", "北京", "蚌埠", "合肥"];
//for循环
for (var i = 0; i < l.length; i++) {
print(l[i]);
}
print("----------17");
//for in
for (var item in l) {
print(item);
}
print("----------18");
//forEach
l.forEach((item) {
print(item);
});
print("----------19");
//map
var list2 = l.map((value) {
return value + "1";
});
print(list2.toList());
print("----------20");
//where
List list3 = [1, 3, 5, 7, 9, 10];
var list4 = list3.where((value) {
return value > 5;
});
print(list4.toList());
print("----------21");
//any 只要集合中有满足条件的返回true
List list5 = [1, 3, 5, 7, 9, 10];
var b = list5.any((value) {
return value > 5; //只要集合中有满足条件的返回true
});
print(b);
print("----------22");
//every 只要集合中每一个都满足条件的返回true
List list6 = [1, 3, 5, 7, 9, 10];
var b1 = list6.every((value) {
return value > 5; //只要集合中每一个都满足条件的返回true
});
print(b1);
print("----------23");
//Set
var sets = new Set();
sets.addAll(["11", "22", "33"]);
sets.forEach((value) => print(value));
print("----------24");
//Map
var persons = {"name": "王五", "age": 30};
persons.forEach((key, value) {
print("$key:$value");
});
}
输出:
[Running] dart "/Users/zhoujian/DartDemo/listDemo.dart"
英语
语文
3
false
true
[数学, 英语, 语文]
[语文, 英语, 数学, 物理]
[语文, 英语, 数学, 物理, 化学, 地理]
----------0
4
----------1
[语文, 英语, 数学, 物理, 化学]
----------2
[语文, English, 数学, 物理, 化学]
----------3
[语文, English, 生物, 数学, 物理, 化学]
----------4
语文,English,生物,数学,物理,化学
----------5
[语文, English, 生物, 数学, 物理, 化学]
----------6
{苹果, 橘子, 橙子}
----------7
[苹果, 橘子, 橙子]
----------8
[苹果, 香蕉, 苹果, 香蕉, 苹果]
[苹果, 香蕉]
----------9
{name: 王五, age: 30}
----------10
{name: 张三, age: 28}
----------11
[name, age]
----------12
[王五, 30]
----------13
false
true
----------14
{name: 王五, age: 30, sex: 男}
----------14
{age: 30, sex: 男}
----------15
true
true
----------16
南京
北京
蚌埠
合肥
----------17
南京
北京
蚌埠
合肥
----------18
南京
北京
蚌埠
合肥
----------19
[南京1, 北京1, 蚌埠1, 合肥1]
----------20
[7, 9, 10]
----------21
true
----------22
false
----------23
11
22
33
----------24
name:王五
age:30
[Done] exited with code=0 in 1.083 seconds