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:
Iterable<T>, Collection<T>, Set<T>

public class Beam<T>
extends 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, Comparator cmp)
           
 
Method Summary
 boolean add(T o)
           
 List<T> asSortedList()
           
 int capacity()
           
 Iterator<T> iterator()
           
static void main(String[] args)
           
 boolean remove(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,
            Comparator cmp)
Method Detail

capacity

public int capacity()

size

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

iterator

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

asSortedList

public List<T> asSortedList()

add

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

remove

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

main

public static void main(String[] args)


Stanford NLP Group