# Question about Dictionaries

**URL:** https://forum.kirupa.com/t/question-about-dictionaries/332545
**Category:** flash
**Created:** [July 18, 2014, 7:27pm UTC](https://forum.kirupa.com/t/question-about-dictionaries/332545 "2014-07-18T19:27:03Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![IgiveUp](https://avatars.discourse-cdn.com/v4/letter/i/8c91f0/32.png) [@IgiveUp](https://forum.kirupa.com/u/IgiveUp)
#### Post date: [July 18, 2014, 7:27pm UTC](https://forum.kirupa.com/t/question-about-dictionaries/332545/1 "2014-07-18T19:27:03Z")

</div>

Hi guys,  
I am currently writing some code to make a bunch of fairies, each fairy emits "fairy dust’ (particles). These particles are on a timer and are removed after a couple seconds. I am using a dictionary to track the particles.

\*\*My question is this: When I remove the particle from the display list and make it null, will the dictionary automatically shrink (like splicing an array)? I’m worried the dictionary is getting infinitely large since I don’t know how to shrink a dictionary. \*\*

(I tried looking it up, but didn’t find anything helpful)

Here is a snippet of my code:

```auto

        public function Fairy(...) {
              ...//other stuff

             **particleDict = new Dictionary(true);**
        }

        private function createParticle():void
        {
            ... //more stuff

            var particleTimer:Timer = new Timer(this.parent.stage.frameRate,50);
            particleTimer.addEventListener(TimerEvent.TIMER, particleUpdate);
            particleTimer.start();
            
            **particleDict[particleTimer] = particle;**
        }
        
        private function particleUpdate(e:TimerEvent):void
        {
            particleDict[e.currentTarget].alpha = 1 - e.currentTarget.currentCount / e.currentTarget.repeatCount;
            particleDict[e.currentTarget].y += .5; 
            if(e.currentTarget.currentCount == e.currentTarget.repeatCount) 
            {
                e.currentTarget.removeEventListener(TimerEvent.TIMER, particleUpdate);
                **this.parent.removeChild(particleDict[e.currentTarget]);**
**particleDict[e.currentTarget] = null;**
            }
        }
        

```

Thanks :beer2:
