Dart语言的集合(collection)

作者: iCloudEnd | 来源:发表于2019-02-04 22:47 被阅读3次

    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
    

    相关文章

      网友评论

        本文标题:Dart语言的集合(collection)

        本文链接:https://www.haomeiwen.com/subject/jldmsqtx.html