[基础] Dart - 集合(数组)List 常用语句

集合(数组) List 常用语句

关于Dart 语言的基础学习记录
Dart 官方网站

  • Set 集合 : 主要的作用是去除数组内的重复内容 用法和List一样 但是内容不能重复
	var L1 = new Set();
    L1.add("cat");
    L1.add("dog");
    L1.add("fish");
    L1.add("cat");
    L1.add("dog");
    
    print(L1);
    //无法添加重复内容
    /*
    {cat, dog, fish}
    */
常用属性 属性说明
length 集合长度
reversed 集合翻转
isEmpty 集合是否为空
isNotEmpty 集合是否不为空
	List L1 = new List();
    L1 = ["cat","dog","fish"];

//length 集合长度
    print("集合长度 $L1.length");

//reversed 翻转集合
    print("翻转前的集合: $L1");
    var temp1 = L1.reversed.toList();
    print("翻转后的集合: $temp1");
  
//判断集合是不是为空 isEmpty - isNotEmpty
    print(L1.isEmpty);
    print(L1.isNotEmpty);
	
	/*
	集合长度 [cat, dog, fish].length
	翻转前的集合: [cat, dog, fish]
	翻转后的集合: [fish, dog, cat]
	false
	true
	*/
常用方法 方法说明
add 增加内容
addAll 拼接集合
indexOf 查找 传入要查找的值 返回对应index
remove 删除 传入要删除的值
removeAt 删除 传入要删除的index值
fillRange 修改值(startIndex,endIndex,value)
insert 指定位置插入值 (index,value)
insertAll 制定位置插入List (index,List)
	 var L1 = new List();
	 var M1 = new Map();

//add 给集合增加内容
     L1.add("cat");
     print("L1 =  $L1");
//addAll 拼接
  	 L1.addAll(["value1","value2"]);
  	 print("拼接后的 -> L1 = $L1");

//indexOf  查找对应值的index
  	 var index= L1.indexOf("value1");
  	 print("对应的valuel在 index = $index");
  	 
//List : remove 删除对应值的元素 removeAt删除对应index的值
  	 print("remove : 删除前的 -> $L1");
  	 L1.remove("value1");
  	 print("remove : 删除后的 -> $L1");

  	 print("removeAt : 删除前的 -> $L1");
  	 L1.removeAt(1);
  	 print("removeAt : 删除后的 -> $L1");

/*
L1 = [cat] 
拼接后的 -> L1 = [cat, value1, value2]
对应的valuel在 index = 1
value1
remove : 删除前的 -> [cat, value1, value2]
remove : 删除后的 -> [cat, value2]
removeAt : 删除前的 -> [cat, value2]
removeAt : 删除后的 -> [cat]

*/
	var L1 = ["value11","value22","value33","value44"];
//fillRange 修改对应范围内的值(startIndex,endIndex,value)
  	L1.fillRange(0, 2,"LOL");
//修改范围包括开始位置 不包括结束位置
 	print(L1);
 /*
 [LOL, LOL, value33, value44]
 */

	var L1 = ["value11","value22","value33","value44"];
//insert 指定位置插入值 (index,value) insertAll 指定位置插入数组
 	L1.insert(1, "insertTest");
 	print(L1);
 	L1.insertAll(2, ["LOL1","LOL2"]);
 	print(L1);
 /*
 [value11, insertTest, value22, value33, value44]
 [value11, insertTest, LOL1, LOL2, value22, value33, value44]
 */
转换常用方法 方法说明
toList 其他类型转换成List
join 把List转换成字符串
split 把字符串转换成List
	 var set1 = new Set();
  	 set1.add("123");
 	 set1.add("345");

//toList 其他类型转换成List
  	 var L2 = set1.toList();
  	 print(L2);
//join 把List转换成字符串
 	 var str = L2.join("");
  	 print(str);
//split 把字符串转换成List
 	 var str2 = "1-2-3-4-5";
   	 var L3 = str2.split('-');
  	 print(L3);
/*
[123, 345]
123345
[1, 2, 3, 4, 5]
*/
重点常用方法 方法说明
forEach 遍历数组
map 遍历数组生成一个新的map 主要用于数组的修改
where 遍历数组找出符合条件的内容
any 遍历数组 只要有一个符合条件返回true
every 遍历数组
//forEach 遍历数组
  var L1 = [2,3,5,7];
  L1.forEach((value)
  {
    print(value);
  });
/*
2
3
5
7
*/
//map 遍历数组生成一个新的List 主要用于数组的修改
  var L1 = [2,3,5,7];

  List NewList = L1.map((value)
  {
    return(value * 2);
  }).toList();
  print(NewList);
  
/*
[4, 6, 10, 14]
*/
//where
  var L1 = [2,3,5,7];
  var NewList = L1.where((value)
  {
    return value > 3;
  }).toList();

  print(NewList);
/*
[5, 7]
*/
//any 只要有满足条件的就为true
	  var L1 = [2,3,5,7];
  	  bool b = L1.any((value)
 	  {
  	    return value > 6;
 	  });
 	  print(b);
/*
true
*/
//every 全部满足条件的就为true
	  var L1 = [2,3,5,7];
  	  bool b = L1.every((value)
 	  {
  	    return value > 6;
 	  });
 	  print(b);
/*
false
*/
2019-06-20  RyccccCode 

你可能感兴趣的:(Dart)