zoukankan      html  css  js  c++  java
  • Dictionary字典类关联数组

    Dictionary的遍历

    使用 for..in 循环或 for each..in 循环来遍历 Dictionary 对象的内容。

    1.for..in 循环用于基于键进行遍历;

    2.for each..in 循环用于基于与每个键关联的值进行遍历,使用 for each..in 循环可以直接访问 Dictionary 对象的值。

    for (var key:Object in groupMap)
    {
        trace(key, groupMap[key]);
    }
                
    for each (var item:Object in groupMap)
    {
        trace(item);
    }
    /*
    output
    [object Sprite] [object Object]
    [object Sprite] [object Object]
    [object Sprite] [object Object]
    [object Object]
    [object Object]
    [object Object]
    */


    groupMap初始化:

    var groupMap:Dictionary = new Dictionary();
    //
    objects to use as keys var spr1:Sprite = new Sprite(); var spr2:Sprite = new Sprite(); var spr3:Sprite = new Sprite(); // objects to use as values var groupA:Object = new Object(); var groupB:Object = new Object(); // Create new key-value pairs in dictionary. groupMap[spr1] = groupA; groupMap[spr2] = groupB; groupMap[spr3] = groupB; if (groupMap[spr1] == groupA) {   trace("spr1 is in groupA"); } if (groupMap[spr2] == groupB) {   trace("spr2 is in groupB"); } if (groupMap[spr3] == groupB) {   trace("spr3 is in groupB"); }

    对象键和内存管理

    var myObject:Object = new Object();
    var myMap:Dictionary = new Dictionary();
    myMap[myObject] = "foo";

    利用myObject作为键时,会复制一个myObject引用,两个引用同时指向同一个对象。

    若要使 myObject 引用的对象能够进行垃圾回收,您必须删除对它的所有引用。在此情况下,必须更改 myObject 的值并从myMap 中删除 myObject 键,如以下代码所示:

    myObject = null;
    delete myMap[myObject];

    或者可以使用 Dictionary 构造函数的 useWeakReference 参数,以使所有字典键均成为“ 弱引用”。

    var myMap:Dictionary = new Dictionary(true);


     

  • 相关阅读:
    php 邮件发送开发前期配置
    抛弃传统的curl,使用Guzzle
    TP5.1 分页(带参数传递)
    tp5.1 模型 where多条件查询 like 查询
    xpath 和 jsonpath 解析
    python分布式爬虫框架 --- scrapy-redis
    python爬虫框架——scrapy
    python爬虫 --- urllib
    mysql事务和锁
    mysql数据储存
  • 原文地址:https://www.cnblogs.com/sdlwlxf/p/2824342.html
Copyright © 2011-2022 走看看