edu.stanford.nlp.util
Class Beam<T>

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractSet<T>
          extended by edu.stanford.nlp.util.Beam<T>
All Implemented Interfaces:
java.lang.Iterable<T>, java.util.Collection<T>, java.util.Set<T>

public class Beam<T>
extends java.util.AbstractSet<T>

Implements a finite beam, taking a comparator (default is ScoredComparator.ASCENDING_COMPARATOR, the MAX object according to the comparator is the one to be removed) and a beam size on construction (default is 100). Adding an object may cause the worst-scored object to be removed from the beam (and that object may well be the newly added object itself).

Author:
Dan Klein

Field Summary
protected  Heap<T> elements
           
protected  int maxBeamSize
           
 
Constructor Summary
Beam()
           
Beam(int maxBeamSize)
           
Beam(int maxBeamSize, java.util.Comparator<? super T> cmp)
           
 
Method Summary
 boolean add(T o)
           
 java.util.List<T> asSortedList()
           
 int capacity()
           
 java.util.Iterator<T> iterator()
           
 boolean remove(java.lang.Object o)
           
 int size()
           
 
Methods inherited from class java.util.AbstractSet
equals, hashCode, removeAll
 
Methods inherited from class java.util.AbstractCollection
addAll, clear, contains, containsAll, isEmpty, retainAll, toArray, toArray, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Set
addAll, clear, contains, containsAll, isEmpty, retainAll, toArray, toArray
 

Field Detail

maxBeamSize

protected int maxBeamSize

elements

protected Heap<T> elements
Constructor Detail

Beam

public Beam()

Beam

public Beam(int maxBeamSize)

Beam

public Beam(int maxBeamSize,
            java.util.Comparator<? super T> cmp)
Method Detail

capacity

public int capacity()

size

public int size()
Specified by:
size in interface java.util.Collection<T>
Specified by:
size in interface java.util.Set<T>
Specified by:
size in class java.util.AbstractCollection<T>

iterator

public java.util.Iterator<T> iterator()
Specified by:
iterator in interface java.lang.Iterable<T>
Specified by:
iterator in interface java.util.Collection<T>
Specified by:
iterator in interface java.util.Set<T>
Specified by:
iterator in class java.util.AbstractCollection<T>

asSortedList

public java.util.List<T> asSortedList()

add

public boolean add(T o)
Specified by:
add in interface java.util.Collection<T>
Specified by:
add in interface java.util.Set<T>
Overrides:
add in class java.util.AbstractCollection<T>

remove

public boolean remove(java.lang.Object o)
Specified by:
remove in interface java.util.Collection<T>
Specified by:
remove in interface java.util.Set<T>
Overrides:
remove in class java.util.AbstractCollection<T>


Stanford NLP Group