Dart4.List

List

Dart中可以直接打印list包括list的元素List也是对象。java中直接打印list结果是地址值

DartList的下标索引和java一样从0开始

java一样支持泛型。

有增删改查,支持倒序,自带排序、洗牌,可使用+将两个List合并

list.dart

void main(){
  /// ---------------------------------Lists列表(数组):List--------------------------------
  print('-----------------------Lists------------------------');
  //声明
  //自动长度
  List growableList = List();
//  List growableList = new List()..length = 3;
  growableList..add(1)..add(2)..add('damon');
  print('growableList: ${growableList}'); //输出 growableList: [1, 2, damon]

  //固定长度
  var list = List(3); //List的声明,可以用var也可用List。
  list[0] = 1; //下标索引从0开始
  list[1] = 2;
  list[2] = 'damon';
  print('list: ${list}');  //输出  list: [1, 2, damon]

  //元素类型固定
  var typeList = List<int>();
  typeList.add(1);
  typeList.add(2);
  typeList.add(3);
  print('typeList: ${typeList}');// 输出 typeList: [1, 2, 3]

  //常用属性
  int first = typeList.first;
  print('typeList.first: ${first}'); //第一个元素  输出 typeList.first: 1
  int last = typeList.last;
  print('typeList.last: ${last}'); //最后一个元素  输出 typeList.last: 3
  int length = typeList.length;
  print('typeList.length: ${length}'); //元素个数  输出 typeList.length: 3
  bool isEmpty = typeList.isEmpty;
  print('typeList.isEmpty: ${isEmpty}'); //是否为空  输出 typeList.isEmpty: false
  bool isNotEmpty = typeList.isNotEmpty;
  print('typeList.isNotEmpty: ${isNotEmpty}'); //是否不为空  输出 typeList.isNotEmpty: true
  Iterable reversed = typeList.reversed;
  print('typeList.reversed: ${reversed}'); //倒序  输出 typeList.reversed: (3, 2, 1)

  //常用方法 增删改查,排序,洗牌,复制子列表
  var list4 = [];
  //增
  list4.add(1);
  print('add 1 :${list4}');  //  输出 add 1 :[1]
  list4.addAll([2, 3, 4]);
  print('addAll [2, 3, 4] :${list4}'); //  输出 addAll [2, 3, 4] :[1, 2, 3, 4]
  list4.insert(0, 0);
  print('insert(0, 0) :${list4}'); //  输出 insert(0, 0) :[0, 1, 2, 3, 4]
  list4.insertAll(1, [5, 6, 7]);
  print('insertAll(1, [5, 6, 7]) :${list4}'); //  输出 insertAll(1, [5, 6, 7]) :[0, 5, 6, 7, 1, 2, 3, 4]
  //删
  list4.remove(5);
  print('remove 5 :${list4}'); //  输出 remove 5 :[0, 6, 7, 1, 2, 3, 4]
  list4.removeAt(2);
  print('remove at 0 :${list4}'); //  输出 remove at 0 :[0, 6, 1, 2, 3, 4]
  //改
  list4[4] = 5;
  print('update list4[4] to 5 :$list4}'); //  输出  update list4[4] to 5 :[0, 6, 1, 2, 5, 4]}
  //range
  list4.fillRange(0, 3, 9);
  print('fillRange update list4[0]-list4[2] to 9 :$list4}'); //  输出 fillRange update list4[0]-list4[2] to 9 :[9, 9, 9, 2, 5, 4]}
  Iterable getRange = list4.getRange(0, 3);
  print('getRange list4[0]-list4[2] :$getRange}'); //  输出 getRange list4[0]-list4[2] :(9, 9, 9)}
  //查
  var contains = list4.contains(5);
  print('list4 contains 5 :${contains}'); //  输出 list4 contains 5 :true
  var indexOf = list4.indexOf(1);
  print('list4 indexOf 1 :${indexOf}'); //  输出  list4 indexOf 1 :-1
  int indexWhere = list4.indexWhere((test) => test == 5);
  print('list4 indexWhere 5 :${indexWhere}'); //  输出  list4 indexWhere 5 :4
  //排序
  list4.sort();
  print('list4 sort :${list4}'); //  输出 list4 sort :[2, 4, 5, 9, 9, 9]
  //洗牌
  list4.shuffle();
  print('list4 shuffle :${list4}'); //  输出 list4 shuffle :[9, 4, 2, 5, 9, 9]
  //复制子列表
  var list5 = list4.sublist(1);
  print('sublist(1) list5 :${list5}'); //  输出 sublist(1) list5 :[4, 2, 5, 9, 9]
  //操作符
  var list6 = [8, 9];
  print('list6 :${list6}'); //  输出 list6 :[8, 9]
  var list7 = list5 + list6;
  print('list5 + list6 :${list7}'); //  输出 list5 + list6 :[4, 2, 5, 9, 9, 8, 9]
  print('-----------------------Lists------------------------');
}

输出:

D:\flutter\bin\cache\dart-sdk\bin\dart.exe --enable-asserts --enable-vm-service:13151 D:\Code\Flutter\FlutterHello\flutter_app\lib\list.dart
lib/list.dart: Warning: Interpreting this as package URI, 'package:flutterapp/list.dart'.
Observatory listening on http://127.0.0.1:13152/mZxly8_yits=/

-----------------------Lists------------------------
growableList: [1, 2, damon]
list: [1, 2, damon]
typeList: [1, 2, 3]
typeList.first: 1
typeList.last: 3
typeList.length: 3
typeList.isEmpty: false
typeList.isNotEmpty: true
typeList.reversed: (3, 2, 1)
add 1 :[1]
addAll [2, 3, 4] :[1, 2, 3, 4]
insert(0, 0) :[0, 1, 2, 3, 4]
insertAll(1, [5, 6, 7]) :[0, 5, 6, 7, 1, 2, 3, 4]
remove 5 :[0, 6, 7, 1, 2, 3, 4]
remove at 0 :[0, 6, 1, 2, 3, 4]
update list4[4] to 5 :[0, 6, 1, 2, 5, 4]}
fillRange update list4[0]-list4[2] to 9 :[9, 9, 9, 2, 5, 4]}
getRange list4[0]-list4[2] :(9, 9, 9)}
list4 contains 5 :true
list4 indexOf 1 :-1
list4 indexWhere 5 :4
list4 sort :[2, 4, 5, 9, 9, 9]
list4 shuffle :[9, 4, 2, 5, 9, 9]
sublist(1) list5 :[4, 2, 5, 9, 9]
list6 :[8, 9]
list5 + list6 :[4, 2, 5, 9, 9, 8, 9]
-----------------------Lists------------------------

Process finished with exit code 0

猜你喜欢

转载自blog.csdn.net/augfun/article/details/106799322
今日推荐