dart List

官网文档介绍:

Perhaps the most common collection in nearly every programming language is the array, or ordered group of objects. In Dart, arrays are List objects, so most people just call them lists.

翻译:

也许几乎每种编程语言中最常见的集合都是数组或有序对象组。在Dart中,数组是列表对象,所以大多数人只是将它们称为列表

在dart中list集合和我们Java中的不一样,在Java中的list集合只存储一种类型 ,但是在dart中不一样

void main(){
  var list = [1,2,'aa',true];
  print(list);
}

取list中的某一个值是

list[]

void main(){
  var list = [1,2,'aa',true];
  print(list[2]);
}

修改某一个list中的值

void main(){
  var list = [1,2,'aa',true];
  print(list[2]);
  list[2] = 3;
  print(list[2]);
}

创建list对象还可以使用

void main(){
var list = new List(3);
  list[0] = 0;
  list[1] = 1;
  list[2] = "aaa";
  print(list);
}

如果List列表只存储一种类型的话 可以使用类似Java中的范型

void main(){
var list = new List<int>(3);
  list[0] = 0;
  list[1] = 1;
  list[2] = 2;
  print(list);
}

可以看到<>里面的int是放的是基本类型

如果一个list 定义后不能被修改的话 使用const 

void main(){
  var constantList = const [1, 2, 3];
  print(constantList);
}

dart2.3后引入了扩展操作符. 来自官方文档

Dart 2.3 introduced the spread operator (...) and the null-aware spread operator (...?), which provide a concise way to insert multiple elements into a collection

翻译:

Dart 2.3引入了扩展运算符(…)和感知空的扩展运算符(…?),它们提供了一种将多个元素插入集合的简洁方法

var list = [1, 2, 3];
var list2 = [0, ...list];
assert(list2.length == 4);

 

var list;
var list2 = [0, ...?list];
assert(list2.length == 1);

由于我使用的是2.1版本 所以就不演示了

list列表常用的方法

1:add()

添加一个元素

2:添加一个集合

3:removeAt()删除某个元素根据下标。或者删除集合中的某个值

4: insert()把某个值添加到某个位置

5:List转Map

下标作为key。对应下标值作为value

 

作为List集合排序功能是必不可少的

void main(){
  var list =new List();
   list.add(1);
  list.add(2);
  list.add(3);
  list.insert(1, 4);
  for(var i=0;i<list.length;i++){
    print(i);
  }
}

还有另外一种方式:

void main(){
  var list =new List();
   list.add(1);
  list.add(2);
  list.add(3);
  for (var i in list){
    print(i);
  }
}

还可以使用fo rEach()进行遍历:

void main(){
  var list =new List();
  list.add(1);
  list.add(2);
  list.add(3);
  list.forEach((i) => print('$i'));
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值