
List基礎用法
var list1 = ["西瓜", "蘋果", "香蕉", true, 0];var list2 = <String>["西瓜", "蘋果", "香蕉"];List list3 = ["西瓜", "蘋果", "香蕉"];list3.add("草莓");print(list3);print(list3.length);//創建一個固定長度的Listvar list4 = List.filled(2, "");list4[0] = "葡萄";print(list4);print(list4.length);var list5 = list4.reversed.toList();list5.add("桃子");list5.addAll(["桃子", "提子"]); //拼接數組//List里面的屬性:print(list4.isEmpty);print(list4.isNotEmpty);print(list4.reversed);print(list5);print(list5.indexOf("桃子")); //indexOf查找數據,查找不到返回-1,查找到返回索引list5.remove("提子"); //根據Value刪除list5.removeAt(3); //根據索引刪除print(list5);List list6 = ["西瓜", "蘋果", "香蕉"];list6.fillRange(0, 1, "aaa"); //根據索引修改print("list6 = $list6"); //list6 = [aaa, 蘋果, 香蕉]list6.fillRange(1, 3, "aaa"); //根據索引修改print("list6 = $list6"); //list6 = [aaa, aaa, aaa]List list7 = ["西瓜", "蘋果", "香蕉"];list7.insert(1, "火龍果"); //插入一個list7.insertAll(1, ["獼猴桃", "芒果"]); //插入多個print("list7 = $list7"); //list7 = [西瓜, 獼猴桃, 芒果, 火龍果, 蘋果, 香蕉]List list8 = ["西瓜", "蘋果", "香蕉"];var join = list8.join("-"); //list轉換成字符串print("join = $join"); //join = 西瓜-蘋果-香蕉var str = "西瓜-蘋果-香蕉";var split = str.split("-"); //字符串轉換成listprint("split = $split"); //split = [西瓜, 蘋果, 香蕉]
Set基礎用法
/*Set用它最主要的功能就是去除數組重復內容set是沒有順序且不能重復的集合,所以不能通過索引取獲取值*/var set = Set();set.add("蘋果");set.add("西瓜");set.add("西瓜");print("set = $set"); //set = {蘋果, 西瓜}print(set.toList()); //[蘋果, 西瓜]//list去重List list9 = ["西瓜", "西瓜", "獼猴桃", "芒果", "獼猴桃", "芒果"];var set1 = Set();set1.addAll(list9);print("set1 = $set1"); //set1 = {西瓜, 獼猴桃, 芒果}var newList = set1.toList();print("newList = $newList"); //newList = [西瓜, 獼猴桃, 芒果]
map常用屬性
var map = {"name": "張三", "age": 20, "sex": "男"};print("map = $map"); //map = {name: 張三, age: 20}var map1 = Map();map1["name"] = "李四";print("map1 = $map1"); //map1 = {name: 李四}print(map.keys.toList()); //[name, age, sex]print(map.values.toList()); //[張三, 20, 男]print(map.isEmpty); //是否為空 falseprint(map.isNotEmpty); //是否不為空 truemap.addAll({"work": ["廚師", "司機"],"height": 20,});print(map); //{name: 張三, age: 20, sex: 男, work: [廚師, 司機], height: 20}map.remove("sex");print(map); //{name: 張三, age: 20, work: [廚師, 司機], height: 20}print(map.containsKey("work")); //trueprint(map.containsValue("張三")); //true
List遍歷
List list10 = ["西瓜", "蘋果", "香蕉"];for (int i = 0; i < list10.length; i++) {print(list10[i]);}//list10.forEach((value) {print(value);});List list11 = [1, 3, 4];var newList11 = list11.map((value) {return value * 2;});print(newList11); //(2, 6, 8)print(newList11.toList()); //[2, 6, 8]//篩選滿足條件的數據var newList12 = list11.where((value) {return value > 2;});print(newList12); //(3, 4)//只要集合里面有滿足條件的就返回truevar isHas = list11.any((value) {return value > 2;});print(isHas); //true//每一個都要滿足條件的就返回true,否則返回falsevar isHasValue = list11.every((value) {return value > 2;});print(isHasValue); //false

Set遍歷
var set3 = Set();set3.addAll(["111", "222", "333"]);set3.forEach((value) => print(value));set3.forEach((value) {print(value);});//mapMap map6 = {"name": "張三", "age": 20};map6.forEach((key,value){print("$key = $value"); //name = 張三 age = 20});print(map6.containsValue( "張三"));