Exemplo n.º 1
0
  @Override
  public boolean add(@NotNull T t) {
    QueueEntry<T> newLast = new QueueEntry<T>(t);
    boolean added = set.add(newLast);
    if (!added) return false;
    QueueEntry<T> oldLast = TOMB.prev;

    oldLast.next = newLast;
    newLast.prev = oldLast;
    newLast.next = TOMB;
    TOMB.prev = newLast;

    return true;
  }
Exemplo n.º 2
0
  @Override
  public boolean remove(Object o) {
    T t = cast(o);
    QueueEntry<T> entry = findEntry(t);
    if (entry == null) return false;
    QueueEntry<T> prev = entry.prev;
    QueueEntry<T> next = entry.next;

    prev.next = next;
    next.prev = prev;

    set.remove(entry);
    return true;
  }
Exemplo n.º 3
0
 public HashSetQueue() {
   TOMB.next = TOMB.prev = TOMB;
 }