flutter & DartFlutter官方实例解读Dart

Dart语言的集合(collection)

2019-02-04  本文已影响3人  iCloudEnd

Dart语言的集合

程序就是数据和函数的集合,也有称为数据结构和算法的集合。无论那种分法,如何存储数据、如何处理数据和如何应用数据成为计算机必须要解决的三个问题。
数学被称为万业之母(哲学是数学的母亲,嘿嘿),计算机作为食物链顶端的学科,大部分的理论都是架构在数学之上的。集合(collections)就是计算机引入数学的重要理论之一。

本文将介绍下面几种collection

Set 是特殊类型的collection

Set 特点是内容是不能有重复,下面代码demo

main(){
  Set  aset = new Set();
  aset.add('a');
  aset.add('b');
  aset.add('a');
  print(aset);
}

运行效果:

{a, b}

Queue 先进先出的collection

Queue 也是一种特殊的collection,Queue采用先进先出策略。下面demo代码:

import 'dart:collection';

main() {
  Queue aqueue = new Queue();
  aqueue.addLast('a');
  aqueue.addLast('b');
  aqueue.addLast('c');
  print(aqueue);

  //输出队列
  while (aqueue.isNotEmpty) {
    var item=aqueue.first;
    print('出队:$item');
    print('剩余:$aqueue');
    print('---------------');
    
    aqueue.removeFirst();
  }
}

输出结果:


{a, b, c}
出队:a
剩余:{a, b, c}
---------------
出队:b
剩余:{b, c}
---------------
出队:c
剩余:{c}
---------------

Map

Map 应该是最常用的collection之一了。下面的demo:

main() {
  var colors = new Map();
  colors['blue'] = false;
  colors['red'] = true;
  print(colors);

  //遍历key
  for (var key in colors.keys) print(key);
  //遍历value
  for (var value in colors.values) print(value);
}

运行结果:


{blue: false, red: true}
blue
red
false
true

List

Dart 语言没有array类型,我们可以用List类型。下面demo:

main() {
  // Specifying the length creates a fixed-length list.
  var onelist = new List();
  onelist.add('a');
  onelist.add('b');
  onelist.add('a');
  onelist.add('d');
  print(onelist);

  for (var item in onelist) {
    print(item);
  }
}

运行效果:

[a, b, a, d]
a
b
a
d
上一篇下一篇

猜你喜欢

热点阅读