1.List
常用屬性:
length 長度
reversed 翻轉
isEmpty 是否為空
isNotEmpty 是否不為空
常用方法:
add 增加
addAll 拼接數組
indexOf 查找 傳入具體值
remove 刪除 傳入具體值
removeAt 刪除 傳入索引值
fillRange 修改
insert(index,value); 指定位置插入
insertAll(index,list) 指定位置插入List
toList() 其他類型轉換成List
join() List轉換成字符串
split() 字符串轉化成List
forEach
map
where
any
every
1)List里面的屬性
void main(){ //List里面的屬性: List myList=['香蕉','蘋果','西瓜']; print(myList.length); print(myList.isEmpty); print(myList.isNotEmpty); print(myList.reversed); //對列表倒序排序,輸出為元組 var newMyList=myList.reversed.toList(); print(newMyList); }
2)List里面的方法:
void main(){ List myList=['香蕉','蘋果','西瓜']; myList.add('桃子'); //增加數據 增加一個 myList.addAll(['桃子','葡萄']); //拼接數組 print(myList); print(myList.indexOf('蘋x果')); //indexOf查找數據 查找不到返回-1 查找到返回索引值 myList.remove('西瓜'); myList.removeAt(1); print(myList); }
void main(){ List myList=['香蕉','蘋果','西瓜']; myList.fillRange(1, 3,'aaa'); //修改 print(myList) }
void main(){ List myList=['香蕉','蘋果','西瓜']; myList.insert(1,'aaa'); //插入 一個 myList.insertAll(1, ['aaa','bbb']); //插入 多個 print(myList); }
void main(){ List myList=['香蕉','蘋果','西瓜']; var str=myList.join('-'); //list轉換成字符串 print(str); print(str is String); //true }
void main(){ var str='香蕉-蘋果-西瓜'; var list=str.split('-'); //字符串轉換成List print(list); print(list is List); //Ture }
2.Set
void main(){ var s=new Set(); s.add('香蕉'); s.add('蘋果'); s.add('蘋果'); print(s); //{香蕉, 蘋果} print(s.toList()); }
void main(){ List myList=['香蕉','蘋果','西瓜','香蕉','蘋果','香蕉','蘋果']; var s=new Set(); s.addAll(myList); print(s); print(s.toList()); }
3.Maps
映射(Maps)是無序的鍵值對:
常用屬性:
keys 獲取所有的key值
values 獲取所有的value值
isEmpty 是否為空
isNotEmpty 是否不為空
常用方法:
remove(key) 刪除指定key的數據
addAll({...}) 合並映射 給映射內增加屬性
containsValue 查看映射內的值 返回true/false
forEach
map
where
any
every
1).常用屬性
void main(){ Map person={ "name":"張三", "age":20, "sex":"男" }; print(person.keys.toList()); //[name, age, sex] print(person.values.toList()); //[張三, 20, 男] print(person.isEmpty); //false print(person.isNotEmpty); //true }
2).常用方法
void main(){ Map person={ "name":"張三", "age":20, "sex":"男" }; person.addAll({ "work":['敲代碼','送外賣'], "height":160 }); print(person); person.remove("sex"); print(person); print(person.containsValue('張三')); } }
3.forEach map where any every
1)forEach
循環元素
void main(){ List myList=['香蕉','蘋果','西瓜']; for(var i=0;i<myList.length;i++){ print(myList[i]); } }
void main(){ List myList=['香蕉','蘋果','西瓜']; for(var item in myList){ print(item); } }
void main(){ List myList=['香蕉','蘋果','西瓜']; // myList.forEach((key,value){ // print('$key---$value'); // }); myList.forEach((value){ print("$value"); }); }
2)map
修改數組的數據 map
void main(){ List myList=[1,3,4]; List newList=new List(); for(var i=0;i<myList.length;i++){ newList.add(myList[i]*2); } print(newList); //[2, 6, 8] List myList=[1,3,4]; var newList=myList.map((value){ return value*2; }); print(newList.toList()); //[2, 6, 8] }
3)where
查找數組
void main(){ List myList=[1,3,4,5,7,8,9]; var newList=myList.where((value){ return value>5; }); print(newList.toList()); //[7, 8, 9] }
4)any
只要有滿足條件就返回true
void main(){ List myList=[1,3,4,5,7,8,9]; var f=myList.any((value){ //只要集合里面有滿足條件的就返回true return value>5; }); print(f); //true }
5)every
每一個都滿足條件返回true 否則返回false
void main(){ List myList=[1,3,4,5,7,8,9]; var f=myList.every((value){ //每一個都滿足條件返回true 否則返回false return value>5; }); print(f); //false }
針對Set
void main(){ var s=new Set(); s.addAll([1,222,333]); s.forEach((value)=>print(value)); }
針對map
void main(){ Map person={ "name":"張三", "age":20 }; person.forEach((key,value){ print("$key---$value"); }); }