Dart语言的集合(collection)

Dart语言的集合

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

本文将介绍下面几种collection

  • Set
  • Queue
  • Map

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
    原文作者:iCloudEnd
    原文地址: https://www.jianshu.com/p/18e7d8c90efc
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞