/* * 系统名称: QuickBundle --> rmdemo * * 文件名称: org.quickbundle.util --> RanminSequenceMap.java * * 功能描述: * * 版本历史: * 2006-4-8 21:36:30 创建1.0.0版 (Administrator) * */ package org.quickbundle.util; import java.util.ArrayList; import java.util.List; import java.util.Set; import org.apache.commons.collections.map.CaseInsensitiveMap; /** * 实现一个标准的java.util.Map,按照put的先后顺序读取,key值对大小写不敏感 * * @author 白小勇 * @version 1.0.0 * @see 需要参见的其它类 * @since 1.0.0 */ public class RmSequenceCaseInsensitiveMap<K,V> extends CaseInsensitiveMap { private static final long serialVersionUID = 1L; List lKeyIndex = null; /** * 构造函数: * */ public RmSequenceCaseInsensitiveMap() { super(); lKeyIndex = new ArrayList(); } public Object put(Object key, Object value) { if (!lKeyIndex.contains(key)) { this.lKeyIndex.add(key); } return super.put(key, value); } public Object remove(Object key) { lKeyIndex.remove(key); return super.remove(key); } public Set keySet() { Set sKey = new RmSequenceSet(); for (Object key : lKeyIndex) { sKey.add(key); } return sKey; } }