hashvector.java
来自「专业汽车级嵌入式操作系统OSEK的源代码」· Java 代码 · 共 96 行
JAVA
96 行
package js.tinyvm.util;import java.util.Enumeration;import java.util.Hashtable;import java.util.Vector;public class HashVector{ private Hashtable iHashtable; private Vector iVector; private class IntWrap { int iV; IntWrap (int aV) { iV = aV; } } public HashVector () { super(); iHashtable = new Hashtable(); iVector = new Vector(); } public void insertElementAt (Object aElement, int aIndex) { synchronized (iVector) { if (iHashtable.containsKey(aElement)) return; iHashtable.put(aElement, new IntWrap(aIndex)); iVector.insertElementAt(aElement, aIndex); } } public void addElement (Object aElement) { synchronized (iVector) { if (iHashtable.containsKey(aElement)) return; iHashtable.put(aElement, new IntWrap(iVector.size())); iVector.addElement(aElement); } } public void put (Object aKey, Object aElement) { synchronized (iVector) { if (iHashtable.containsKey(aKey)) return; iHashtable.put(aKey, aElement); iVector.addElement(aKey); } } public boolean containsKey (Object aKey) { return iHashtable.containsKey(aKey); } public int indexOf (Object aKey) { synchronized (iVector) { Object pElm = iHashtable.get(aKey); if (pElm instanceof IntWrap) return ((IntWrap) pElm).iV; if (pElm == null) return -1; return iVector.indexOf(aKey); } } public Enumeration elements () { return iVector.elements(); } public int size () { return iVector.size(); } public Object elementAt (int aIndex) { return iVector.elementAt(aIndex); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?