indexedvector.java
来自「SRI international 发布的OAA框架软件」· Java 代码 · 共 73 行
JAVA
73 行
package antlr_oaa.collections.impl;
/* ANTLR Translator Generator
* Project led by Terence Parr at http://www.jGuru.com
* Software rights: http://www.antlr.org/RIGHTS.html
*
* $Id: IndexedVector.java,v 1.1 2002/11/08 17:37:20 agno Exp $
*/
import java.util.Hashtable;
import java.util.Enumeration;
import antlr_oaa.collections.impl.Vector;
/**
* A simple indexed vector: a normal vector except that you must
* specify a key when adding an element. This allows fast lookup
* and allows the order of specification to be preserved.
*/
public class IndexedVector {
protected Vector elements;
protected Hashtable index;
/**
* IndexedVector constructor comment.
*/
public IndexedVector() {
elements = new Vector(10);
index = new Hashtable(10);
}
/**
* IndexedVector constructor comment.
* @param size int
*/
public IndexedVector(int size) {
elements = new Vector(size);
index = new Hashtable(size);
}
public synchronized void appendElement(Object key, Object value) {
elements.appendElement(value);
index.put(key, value);
}
/**
* Returns the element at the specified index.
* @param index the index of the desired element
* @exception ArrayIndexOutOfBoundsException If an invalid
* index was given.
*/
public Object elementAt(int i) {
return elements.elementAt(i);
}
public Enumeration elements() {
return elements.elements();
}
public Object getElement(Object key) {
Object o = index.get(key);
return o;
}
/** remove element referred to by key NOT value; return false if not found. */
public synchronized boolean removeElement(Object key) {
Object value = index.get(key);
if ( value == null ) {
return false;
}
index.remove(key);
elements.removeElement(value);
return false;
}
public int size() {
return elements.size();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?