/*
 * 特别声明：本技术材料受《中华人民共和国著作权法》、《计算机软件保护条例》等法律、法规、行政
 * 规章以及有关国际条约的保护，赞同科技享有知识产权、保留一切权利并视其为技术秘密。未经本公司书
 * 面许可，任何人不得擅自（包括但不限于：以非法的方式复制、传播、展示、镜像、上载、下载）使用，
 * 不得向第三方泄露、透露、披露。否则，本公司将依法追究侵权者的法律责任。特此声明！
 *
 * Special Declaration: These technical material reserved as the technical secrets by AGREE 
 * TECHNOLOGY have been protected by the "Copyright Law" "ordinances on Protection of Computer 
 * Software" and other relevant administrative regulations and international treaties. Without 
 * the written permission of the Company, no person may use (including but not limited to the 
 * illegal copy, distribute, display, image, upload, and download) and disclose the above 
 * technical documents to any third party. Otherwise, any infringer shall afford the legal 
 * liability to the company.
 */
/**
 * Created by liushuai on 2015/1/12.
 */
define(function(){
    return function(){
        var elements = new Array();
        var map =
        {
            put:function(key, value)
            {
                elements.push({key: key, value: value});
            },

            containsKey:function(key)
            {
                if(elements.length == 0)
                {
                    return false;
                }else
                {
                    for(var i = 0; i < elements.length; i++)
                    {
                        var element = elements[i];
                        if(element.key == key)
                        {
                            return true;
                            break;
                        }
                    }
                    return false;
                }
            },

            containsValue:function(value)
            {
                for(var i = 0; i < elements.length; i++)
                {
                    var element = elements[i];
                    if(element.value == value)
                    {
                        return true;
                        break;
                    }
                    return false;
                }
            },

            remove:function(key)
            {
                for(var i = 0; i < elements.length; i++)
                {
                    var element = elements[i];
                    if(element.key == key)
                    {
                        return elements.splice(i, 1);
                    }
                }
                return undefined;
            },

            getValue:function(key)
            {
                for(var i = 0; i < elements.length; i++)
                {
                    var element = elements[i];
                    if(element.key == key)
                    {
                        return element.value;
                    }
                }
            },

            size:function()
            {
                return elements.length;
            }
        };

        return map;
    }
})