|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.util.AbstractCollection<E>
edu.stanford.nlp.util.Index<E>
public class Index<E>
An Index is a collection that maps between an Object vocabulary and a
contiguous non-negative integer index series beginning (inclusively) at 0.
It supports constant-time lookup in
both directions (via get(int)
and indexOf(E)
.
The indexOf(E)
method compares objects by
equals
, as other Collections.
Index index = new Index(collection);
followed by
int i = index.indexOf(object);
or
Object o = index.get(i);
The source contains a concrete example of use as the main method.
An Index can be locked or unlocked: a locked index cannot have new items added to it.
AbstractCollection
,
Serialized FormField Summary |
---|
Fields inherited from interface edu.stanford.nlp.util.IndexInterface |
---|
INVALID_ENTRY |
Constructor Summary | |
---|---|
Index()
Creates a new Index. |
|
Index(Collection<? extends E> c)
Creates a new Index and adds every member of c to it. |
Method Summary | |
---|---|
boolean |
add(E o)
Adds an object to the Index. |
boolean |
addAll(Collection<? extends E> c)
Adds every member of Collection to the Index. |
void |
clear()
Clears this Index. |
boolean |
contains(Object o)
Checks whether an Object already has an index in the Index |
E |
get(int i)
Gets the object whose index is the integer argument. |
int |
indexOf(E o)
Returns the integer index of the Object in the Index or -1 if the Object is not already in the Index. |
int |
indexOf(E o,
boolean add)
Takes an Object and returns the integer index of the Object, perhaps adding it to the index first. |
int[] |
indices(Collection<E> elems)
Returns the index of each elem in a List. |
boolean |
isLocked()
Queries the Index for whether it's locked or not. |
Iterator<E> |
iterator()
Returns an iterator over the elements of the collection. |
static Index<String> |
loadFromFilename(String file)
|
static Index<String> |
loadFromReader(BufferedReader br)
This is the analogue of loadFromFilename , and is intended to be included in a routine
that unpacks a text-serialized form of an object that incorporates an Index. |
void |
lock()
Locks the Index. |
static void |
main(String[] args)
|
Collection<E> |
objects(int[] indices)
Looks up the objects corresponding to an array of indices, and returns them in a Collection . |
List<E> |
objectsList()
Returns a complete List of indexed objects, in the order of their indices. |
boolean |
remove(Object o)
Removes an object from the index, if it exists (otherwise nothing happens). |
void |
saveToFilename(String file)
|
void |
saveToWriter(Writer bw)
This saves the contents of this index into string form, as part of a larger text-serialization. |
int |
size()
Returns the number of indexed objects. |
String |
toString()
Returns a readable version of the Index contents |
String |
toString(int n)
Returns a readable version of at least part of the Index contents. |
void |
unlock()
Unlocks the Index. |
Index<E> |
unmodifiableView()
Returns an unmodifiable view of the Index. |
Methods inherited from class java.util.AbstractCollection |
---|
containsAll, isEmpty, removeAll, retainAll, toArray, toArray |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.Collection |
---|
equals, hashCode |
Constructor Detail |
---|
public Index()
public Index(Collection<? extends E> c)
c
- A collection of objectsMethod Detail |
---|
public void clear()
clear
in interface Collection<E>
clear
in class AbstractCollection<E>
public int[] indices(Collection<E> elems)
elems
- The list of items
public Collection<E> objects(int[] indices)
Collection
.
This collection is not a copy, but accesses the data structures of the Index.
indices
- An array of indices
Collection
of the objects corresponding to the indices argument.public int size()
size
in interface IndexInterface<E>
size
in interface Collection<E>
size
in class AbstractCollection<E>
public E get(int i)
get
in interface IndexInterface<E>
i
- the integer index to be queried for the corresponding argument
public List<E> objectsList()
List
of indexed objects, in the order of their indices. DANGER!
The current implementation returns the actual index list, not a defensive copy. Messing with this List
can seriously screw up the state of the Index. (perhaps this method needs to be eliminated? I don't think it's
ever used in ways that we couldn't use the Index itself for directly. --Roger, 12/29/04)
List
of indexed objectspublic boolean isLocked()
public void lock()
add(E)
will
leave the Index unchanged and return false
).
public void unlock()
add(E)
will
leave the Index unchanged and return false
).
public int indexOf(E o)
indexOf
in interface IndexInterface<E>
o
- the Object whose index is desired.
public int indexOf(E o, boolean add)
indexOf
in interface IndexInterface<E>
o
- the Object whose index is desired.add
- Whether it is okay to add new items to the index
public boolean addAll(Collection<? extends E> c)
addAll
in interface Collection<E>
addAll
in class AbstractCollection<E>
public boolean add(E o)
add
in interface Collection<E>
add
in class AbstractCollection<E>
public boolean contains(Object o)
contains
in interface IndexInterface<E>
contains
in interface Collection<E>
contains
in class AbstractCollection<E>
o
- the object to be queried.
public void saveToFilename(String file)
public static Index<String> loadFromFilename(String file)
public void saveToWriter(Writer bw) throws IOException
saveToFileName
.
NOTE: adds an extra newline at the end of the sequence.
bw
-
IOException
public static Index<String> loadFromReader(BufferedReader br) throws Exception
loadFromFilename
, and is intended to be included in a routine
that unpacks a text-serialized form of an object that incorporates an Index.
NOTE: presumes that the next readLine() will read in the first line of the
portion of the text file representing the saved Index. Currently reads until it
encounters a blank line, consuming that line and returning the Index.
TODO: figure out how best to terminate: currently a blank line is considered to be a terminator.
br
- The Reader to read the index from
Exception
public String toString()
toString
in class AbstractCollection<E>
public String toString(int n)
n
- Show the first n items in the Index
public static void main(String[] args)
public Iterator<E> iterator()
iterator
in interface Iterable<E>
iterator
in interface Collection<E>
iterator
in class AbstractCollection<E>
public boolean remove(Object o)
remove
in interface Collection<E>
remove
in class AbstractCollection<E>
o
- the object to remove
public Index<E> unmodifiableView()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |