Dart笔记(7):列表List

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hxl517116279/article/details/88379718

声明

自动

//1
List<int> l = new List();//可省略new
l
..add(1)
..add(2)
..add(3);
//2
 List<int> l1=[1,2,3];

定长

List<int> l = new List(3);
// print(l[0]); //null
l[0] = 1;
l[1] = 2;
l[2] = 3;

Dart中可以直接打印List包括List的元素,List也是对象 。

Java中直接打印List结果是地址值。

属性

名称 说明
isEmpty 是否为空
isNotEmpty 是否不为空
first 第一个对象
last 最后一个对象
length 个数
reversed 反转

方法

名称 说明
add 添加
addAll 添加多个
insert 插入
insertAll 插入多个
indexOf 查询位置
indexWhere 按条件查询
remove 删除
removeAt 按位置删除
fillRange 按区间填充
getRange 按区间获取
shuffle 随机变换顺序
sort 排序
sublist 返回子列表

添加

List<int> l = new List();

l
  ..add(1)
  ..addAll([2, 3, 4, 5])
  ..insert(0, 6)
  ..insertAll(6, [6, 6])
  ;

 查询

print(l.indexOf(5));
print(l.indexWhere((it) => it == 4));

删除

l.remove('a');
l.removeAt(5);

Range

l.fillRange(0, 3, 9);//从第0(包括)到第3位(不包括)填充为9
print(l.getRange(0, 5));//返回0到5位(不包括)

洗牌

l.shuffle();
print(l);
l.shuffle();
print(l);

排序

数字
l.sort();
print(l);
日期
List<DateTime> dtList = new List();
dtList.addAll([
  DateTime.now(),
  DateTime.now().add(new Duration(days: -12)),
  DateTime.now().add(new Duration(days: -2))
  ]);
print(dtList);
dtList.sort((a, b) => a.compareTo(b));
print(dtList);

复制子列表

print(l);
var l2 = l.sublist(1,4);
print(l2);

操作符

名称 说明
+ 连接
[] 取值
[]= 赋值
var l1 = [1, 2, 3];
var l2 = [4, 5, 6];
print(l1 + l2);
l1[2] = 9;
print(l1[2]);

猜你喜欢

转载自blog.csdn.net/hxl517116279/article/details/88379718