Dart Lists基本操作

在本章中,我们将讨论如何对列表执行一些基本操作方法。

在列表中插入元素

可变列表可以在运行时动态增长。 List.add()方法将指定的值附加到List的末尾并返回修改后的List对象。

下面的代码说明了这个情况:

void main() { 
   List l = [1,2,3]; 
   l.add(12); 
   print(l); 
}

上面的代码将会输出以下结果:

[1, 2, 3, 12]

List.addAll( )方法接受以逗号分隔的多个值,并将这些值附加到List。

void main() { 
   List l = [1,2,3]; 
   l.addAll([12,13]); 
   print(l); 
}

上面的代码将会输出以下结果:

[1, 2, 3, 12, 13]

Dart还支持在List中的特定位置添加元素。 insert( )函数接受一个值并将其插入指定的索引。 类似地,insertAll( )函数从指定的索引开始插入给定的值列表。

insert和insertAll函数的用法如下所示:

List.insert(index,value) 
List.insertAll(index, iterable_list_of _values)

以下示例分别说明了insert( )和insertAll( )函数的用法。

Example: List.insert( )

void main() { 
   List l = [1,2,3]; 
   l.insert(0,4); 
   print(l); 
}

上面的代码将会输出以下结果:

[4, 1, 2, 3]

Example : List.insertAll( )

void main() { 
   List l = [1,2,3]; 
   l.insertAll(0,[120,130]); 
   print(l); 
}

上面的代码将会输出以下结果:

[120, 130, 1, 2, 3]

更新列表

更新索引

Dart允许修改List中项目的值。 换句话说,可以重写列表项的值。

以下示例阐释了这种情况:

void main() { 
   List l = [1, 2, 3,]; 
   1[0] = 123;
   print (1);
}

上面的示例使用索引0更新List项的值。代码的输出结果是:

[123, 2, 3]

使用List.replaceRange()方法

dart:core库中的List类提供了replaceRange()函数来修改List项。 此函数替换指定范围内元素的值。

使用List.replaceRange()函数的语法如下所示:

List.replaceRange(int start_index,int end_index,Iterable <items>)
  • Start_index – 表示要开始替换的索引位置的整数。
  • End_index – 表示要停止替换的索引位置的整数。
  • <items> – 表示更新值的可迭代对象。

以下示例说明了相同的内容:

void main() {
   List l = [1, 2, 3,4,5,6,7,8,9];
   print('替换之前的列表为${l}');
   
   l.replaceRange(0,3,[11,23,24]);
   print('替换索引0到3后的列表为 ${l}');
}

上面的代码将会输出以下结果:

替换之前的列表为 [1, 2, 3, 4, 5, 6, 7, 8, 9]
替换索引0到3后的列表为 [11, 23, 24, 4, 5, 6, 7, 8, 9]

删除列表项

dart:core库中List类支持的以下函数可用于删除List中的项目。

List.remove()

List.remove()函数删除列表中第一次出现的指定项。 如果从列表中删除指定的值,则此函数返回true。

用法

List.remove(Object value)
  • value – 表示应从列表中删除的项的值。

下面的例子阐释了如何使用这个方法。

void main() { 
   List l = [1, 2, 3,4,5,6,7,8,9]; 
   print('删除之前的列表为 ${l}'); 
   bool res = l.remove(1); 
   print('删除之后的列表为 ${l}'); 
}

上面的代码将会输出以下结果:

删除之前的列表为  [1, 2, 3, 4, 5, 6, 7, 8, 9] 
删除之后的列表为 [2, 3, 4, 5, 6, 7, 8, 9]

List.removeAt( )

List.removeAt 方法删除指定索引处的值并返回它。

用法

List.removeAt(int index)
  • index – 表示应从列表中删除的元素的索引。

下面的代码示例解释了这种用法。

void main() { 
   List l = [1, 2, 3,4,5,6,7,8,9]; 
   print('删除之前列表为 ${l}'); 
   dynamic res = l.removeAt(1); 
   print('元素值为 ${res}'); 
   print('删除之后列表为 ${l}'); 
}

上面的代码将会输出下面的结果:

删除之前列表为 [1, 2, 3, 4, 5, 6, 7, 8, 9] 
元素值为 2 
删除之后列表为 [1, 3, 4, 5, 6, 7, 8, 9]

List.removeLast( )

List.removeLast( )方法弹出并返回List中的最后一项。

其语法如下所示:

List.removeLast()

下面的代码示例解释了这种用法。

void main() { 
   List l = [1, 2, 3,4,5,6,7,8,9]; 
   print('删除之前列表为${l}');  
   dynamic res = l.removeLast(); 
   print('元素值弹出 ${res}'); 
   print('删除之后列表值为 ${l}'); 
}

上面的代码将会输出下面的结果:

删除之前列表为 [1, 2, 3, 4, 5, 6, 7, 8, 9] 
元素值弹出 9 
删除之后列表值为  [1, 2, 3, 4, 5, 6, 7, 8]

List.removeRange()

List.removeRange( )方法删除指定范围内的项目。 其语法如下所示:

List.removeRange(int start, int end)
  • Start – 表示删除项目的起始位置。
  • End – 表示列表中停止删除项目的位置。

下面的代码示例解释了这种用法。

void main() { 
   List l = [1, 2, 3,4,5,6,7,8,9]; 
   print('删除列表元素之前列表的值为 ${l}'); 
   l.removeRange(0,3); 
   print('删除列表0-3之间的元素后列表的值为${l}'); 
}

上面的代码将会输出下面的结果:

删除列表元素之前列表的值为   [1, 2, 3, 4, 5, 6, 7, 8, 9] 
删除列表0-3之间的元素后列表的值为 [4, 5, 6, 7, 8, 9]

 

(0)
上一篇 2019年3月17日 下午10:44
下一篇 2019年3月29日 下午10:11

相关推荐

发表回复

登录后才能评论