List里面常用的屬性和方法:
1) 常用屬性:
- length 長度
- reversed 翻轉(zhuǎn)
- isEmpty 是否為空
- isNotEmpty 是否不為空
2)常用方法:
- add 增加
- addAll 拼接數(shù)組
- indexOf 查找 傳入具體值
- remove 刪除 傳入具體值
- removeAt 刪除 傳入索引值
- fillRange 修改
- insert(index,value); 指定位置插入
- insertAll(index,list) 指定位置插入List
- toList() 其他類型轉(zhuǎn)換成List
- join() List轉(zhuǎn)換成字符串
- split() 字符串轉(zhuǎn)化成List
- forEach
- map
- where
- any
- every
3)代碼:
var list=new List();
list.add('111'); //add 增加元素
list.add('222');
print(list); // [111, 222]
List里面的屬性:
List myList=['香蕉','蘋果','西瓜'];
print(myList.length); //3
print(myList.isEmpty); //false
print(myList.isNotEmpty); //true
print(myList.reversed); //對列表倒序排序 (西瓜, 蘋果, 香蕉)
var newMyList=myList.reversed.toList(); 其他類型轉(zhuǎn)換成List
print(newMyList); // [西瓜, 蘋果, 香蕉]
myList.add('桃子'); //增加數(shù)據(jù) 增加一個 [香蕉, 蘋果, 西瓜, 桃子]
myList.addAll(['桃子','葡萄']); //拼接數(shù)組 [香蕉, 蘋果, 西瓜, 桃子, 葡萄]
print(myList.indexOf('蘋x果')); //indexOf查找數(shù)據(jù) 查找不到返回-1 查找到返回索引值
myList.remove('西瓜'); //刪除 傳入具體值 [香蕉, 蘋果]
myList.removeAt(1); //刪除 傳入索引值 [香蕉, 西瓜]
myList.fillRange(1, 2,'aaa'); //修改 [香蕉, aaa, 西瓜]
myList.fillRange(1, 3,'aaa'); //修改 [香蕉, aaa, aaa]
var str=myList.join('-'); //list轉(zhuǎn)換成字符串 香蕉-蘋果-西瓜
print(str is String) //true
var str='香蕉-蘋果-西瓜';
var list=str.split('-'); // 字符串轉(zhuǎn)化成List
print(list); //[香蕉, 蘋果, 西瓜]
print(list is List); //true
Set
用它最主要的功能就是去除數(shù)組重復(fù)內(nèi)容
Set是沒有順序且不能重復(fù)的集合躏精,所以不能通過索引去獲取值
var s=new Set();
s.add('香蕉');
s.add('蘋果');
//s.add('蘋果'); //set不能添加重復(fù)的數(shù)據(jù)
print(s); //{香蕉, 蘋果}
print(s.toList()); //轉(zhuǎn)成List
List myList=['香蕉','蘋果','西瓜','香蕉','蘋果','香蕉','蘋果'];
var s=new Set();
s.addAll(myList);
print(s); //{香蕉, 蘋果, 西瓜} 去掉重復(fù)后的數(shù)據(jù)
print(s.toList()); //轉(zhuǎn)成list [香蕉, 蘋果, 西瓜]
Map
映射(Maps)是無序的鍵值對:
一蜂筹、定義
Map person={
"name":"張三",
"age":20
};
print(person); //{name: 張三, age: 20}
var m=new Map();
m["name"]="李四";
print(m); //{name: 李四}
二撤卢、常用屬性
keys 獲取所有的key值
values 獲取所有的value值
isEmpty 是否為空
isNotEmpty 是否不為空
Map person = {
"name":"張三",
"age":20,
"sex":"男"
};
print(person.keys.toList()); //獲取所有的key值
print(person.values.toList()); //獲取所有的value值
print(person.isEmpty); //判斷是否為空
print(person.isNotEmpty); //判斷是否不為空
三澎嚣、常用的方法
remove(key) 刪除指定key的數(shù)據(jù)
addAll({...}) 合并映射 給映射內(nèi)增加屬性
containsValue 查看映射內(nèi)的值 返回true/false
Map person={
"name":"張三",
"age":20,
"sex":"男"
};
person.addAll({
"work":['敲代碼','送外賣'],
"height":160
});
print(person); // {name: 張三, age: 20, sex: 男, work: [敲代碼, 送外賣], height: 160}
person.remove("sex");
print(person); //{name: 張三, age: 20, work: [敲代碼, 送外賣], height: 160}
print(person.containsValue('張三')); //true
forEach map where any every
針對List
forEach
List myList=['香蕉','蘋果','西瓜'];
for(var i=0;i<myList.length;i++){
print(myList[i]);
}
for(var item in myList){
print(item);
}
myList.forEach((value){
print("$value");
});
修改數(shù)組的數(shù)據(jù) map
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]
查找數(shù)組
List myList=[1,3,4,5,7,8,9];
var newList=myList.where((value){
return value>5;
});
print(newList.toList()); //[7, 8, 9]
只要有滿足條件就返回true
List myList=[1,3,4,5,7,8,9];
var f=myList.any((value){ //只要集合里面有滿足條件的就返回true
return value>5;
});
print(f); //true
每一個都滿足條件返回true 否則返回false
List myList=[1,3,4,5,7,8,9];
var f=myList.every((value){ //每一個都滿足條件返回true 否則返回false
return value>5;
});
print(f); //false
針對Set
var s=new Set();
s.addAll([1,222,333]);
s.forEach((value)=>print(value));
針對Map
Map person={
"name":"張三",
"age":20
};
person.forEach((key,value){
print("$key---$value");
});