Dart语言零基础学习笔记(六)

Dart list定义

定义任意类型集合

var list=['one','two',10,true];
List list=['one','two'];`

定义指定类型的集合 `

var list=<String >['one','two'];

定义set类型的集合

Set 用它最主要的功能就是去除数组重复内容
Set是没有顺序且不能重复的集合,所以不能通过索引去获取值

  var l = new Set();
  l.add('aaa');
  l.add('bbb');
  l.add('ccc');
  print(l); //{aaa, bbb, ccc}
  l.add('ccc'); //添加重复值,无效
  print(l); //{aaa, bbb, ccc}
  print(l.toList());//[aaa, bbb, ccc]

Dart list常用的属性和方法

常用属性:
length 长度
reversed 翻转
isEmpty 是否为空
isNotEmpty 是否不为空

void main() {
  List l = ['emo', '233', 'hhh'];
  print(l.length); //3
  print(l.isEmpty); //false
  print(l.isNotEmpty); //true
  print(l.reversed);//(hhh, 233, emo)
  var newl = l.reversed.toList();
  print(newl);//[hhh, 233, emo]
}

常用方法:
add 增加
addAll 拼接数组
indexOf 查找 传入具体值
remove 删除 传入具体值
removeAt 删除 传入索引值
fillRange 修改
insert(index,value); 指定位置插入
insertAll(index,list) 指定位置插入List

void main() {
  List l = ['emo', '233', 'hhh'];
  l.add('kkk'); //增加多个数据
  print(l); //[emo, 233, hhh, kkk]
  l.addAll(["age", 'manic']); //拼接数组,增加多个数据
  print(l); //[emo, 233, hhh, kkk, age, manic]
  print(l.indexOf('kkk')); //3 ,能索引到返回值在数组的位置。索引不到,返回-1
  l.remove('233'); //删除数据 ,输入数据值
  print(l); //[emo, hhh, kkk, age, manic]
  l.removeAt(1); //删除数据 ,输入索引值
  print(l); //[emo, kkk, age, manic]
  l.fillRange(0, 2, "AAA"); //0为起始位,2为终止位。从起始位开始,到终止位之前。
  print(l); //[AAA, AAA, age, manic]
  l.insert(1, 'ToT');//插入一个
  print(l);//[AAA, ToT, AAA, age, manic]
  l.insertAll(1, ['111', '222']);//插入多个
  print(l);//[AAA, 111, 222, ToT, AAA, age, manic]  
}

toList() 其他类型转换成List

  var s = {'aaa', 'bbb', 'ccc'};
  print(s.toList()); //[aaa, bbb, ccc]

join() List转换成字符串

void main() {
  List l = ['111', '222', '333'];
  var str = l.join('...');//将list转换成一个字符串
  print(str); //111...222...333
  print(str is String);//true ,表示已经将list转换成一个字符串
}

split() 字符串转化成List

void main() {
  var str = '111...222...333';
  var l = str.split("...");//将字符串以“...”为切割点,分为数组
  print(l);//[111, 222, 333]
  print(l is List);//true

}

forEach 循环遍历

void main() {
  List list = ['熊大', '熊二', 100, 1.1];
   list.forEach((element) {
   print(element);
  });
}
// 熊大
// 熊二
// 100
// 1.1

map 遍历

  List list = [1, 2, 3];
  var newlist = list.map((value) {
    return value * 2;
  });

  print(newlist);//(2, 4, 6)

where 遍历


  List l = [1, 2, 3, 4, 5, 6];
  var newl = l.where((value) {
    return value > 3;
  });
  print(newl);//(4, 5, 6)

any 遍历 (只要集合里面有满足条件的元素,返回true)

 List l = [1, 2, 3, 4, 5, 6];
  var newl = l.any((value) {
    return value > 3;
  });
  print(newl);//true
    

every遍历 (集合里面每一个元素都满足条件,返回true,否则范返回false)

  List l = [1, 2, 3, 4, 5, 6];
  var newl = l.every((value) {
    return value > 3;
  });
  print(newl);//false

数组数据去重 set

  var l = ['aaa', 'bbb', 'ccc', 'bbb', 'ccc'];
  var s = new Set();
  s.addAll(l);
  print(s);//{aaa, bbb, ccc}
  print(s.toList());//[aaa, bbb, ccc]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值