Dart集合
/* 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 */ void main(){ // List myList=['香蕉','苹果','西瓜']; // print(myList[1]); // var list=new List(); // list.add('111'); // list.add('222'); // print(list); //List里面的属性: // List myList=['香蕉','苹果','西瓜']; // print(myList.length); // print(myList.isEmpty); // print(myList.isNotEmpty); // print(myList.reversed); //对列表倒序排序 // var newMyList=myList.reversed.toList(); // print(newMyList); //List里面的方法: // List myList=['香蕉','苹果','西瓜']; //myList.add('桃子'); //增加数据 增加一个 // myList.addAll(['桃子','葡萄']); //拼接数组 // print(myList); //print(myList.indexOf('苹x果')); //indexOf查找数据 查找不到返回-1 查找到返回索引值 // myList.remove('西瓜'); // myList.removeAt(1); // print(myList); // List myList=['香蕉','苹果','西瓜']; // myList.fillRange(1, 2,'aaa'); //修改 // myList.fillRange(1, 3,'aaa'); // myList.insert(1,'aaa'); //插入 一个 // myList.insertAll(1, ['aaa','bbb']); //插入 多个 // print(myList); // List myList=['香蕉','苹果','西瓜']; // var str=myList.join('-'); //list转换成字符串 // print(str); // print(str is String); //true var str='香蕉-苹果-西瓜'; var list=str.split('-'); print(list); print(list is List); }
//Set //用它最主要的功能就是去除数组重复内容 //Set是没有顺序且不能重复的集合,所以不能通过索引去获取值 void main(){ // var s=new Set(); // s.add('香蕉'); // s.add('苹果'); // s.add('苹果'); // print(s); //{香蕉, 苹果} // print(s.toList()); List myList=['香蕉','苹果','西瓜','香蕉','苹果','香蕉','苹果']; var s=new Set(); s.addAll(myList); print(s); print(s.toList()); }
/* 映射(Maps)是无序的键值对: 常用属性: keys 获取所有的key值 values 获取所有的value值 isEmpty 是否为空 isNotEmpty 是否不为空 常用方法: remove(key) 删除指定key的数据 addAll({...}) 合并映射 给映射内增加属性 containsValue 查看映射内的值 返回true/false forEach map where any every */ void main(){ // Map person={ // "name":"张三", // "age":20 // }; // var m=new Map(); // m["name"]="李四"; // print(person); // print(m); //常用属性: // Map person={ // "name":"张三", // "age":20, // "sex":"男" // }; // print(person.keys.toList()); // print(person.values.toList()); // print(person.isEmpty); // print(person.isNotEmpty); //常用方法: Map person={ "name":"张三", "age":20, "sex":"男" }; // person.addAll({ // "work":['敲代码','送外卖'], // "height":160 // }); // print(person); // person.remove("sex"); // print(person); print(person.containsValue('张三')); }
/* forEach map where any every */ void main(){ // 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"); // }); // List myList=[1,3,4]; // List newList=new List(); // for(var i=0;i<myList.length;i++){ // newList.add(myList[i]*2); // } // print(newList); // List myList=[1,3,4]; // var newList=myList.map((value){ // return value*2; // }); // print(newList.toList()); // List myList=[1,3,4,5,7,8,9]; // var newList=myList.where((value){ // return value>5; // }); // print(newList.toList()); // List myList=[1,3,4,5,7,8,9]; // var f=myList.any((value){ //只要集合里面有满足条件的就返回true // return value>5; // }); // print(f); // List myList=[1,3,4,5,7,8,9]; // var f=myList.every((value){ //每一个都满足条件返回true 否则返回false // return value>5; // }); // print(f); // 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"); }); }
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!