mirror of
http://git.eaglercraft.rip/eaglercraft/eaglercraft-1.8.git
synced 2025-04-30 02:01:59 -05:00
78 lines
2.3 KiB
Java
78 lines
2.3 KiB
Java
package com.carrotsearch.hppc;
|
|
|
|
import com.carrotsearch.hppc.cursors.ObjectCursor;
|
|
import com.carrotsearch.hppc.predicates.ObjectPredicate;
|
|
import com.carrotsearch.hppc.procedures.ObjectProcedure;
|
|
import java.util.Deque;
|
|
import java.util.Iterator;
|
|
|
|
/**
|
|
* A linear collection that supports element insertion and removal at both ends.
|
|
*
|
|
* @see Deque
|
|
*/
|
|
@com.carrotsearch.hppc.Generated(date = "2024-06-04T15:20:17+0200", value = "KTypeDeque.java")
|
|
public interface ObjectDeque<KType> extends ObjectCollection<KType> {
|
|
/**
|
|
* Removes the first element that equals <code>e</code>.
|
|
*
|
|
* @return The deleted element's index or <code>-1</code> if the element was not found.
|
|
*/
|
|
public int removeFirst(KType e);
|
|
|
|
/**
|
|
* Removes the last element that equals <code>e</code>.
|
|
*
|
|
* @return The deleted element's index or <code>-1</code> if the element was not found.
|
|
*/
|
|
public int removeLast(KType e);
|
|
|
|
/** Inserts the specified element at the front of this deque. */
|
|
public void addFirst(KType e);
|
|
|
|
/** Inserts the specified element at the end of this deque. */
|
|
public void addLast(KType e);
|
|
|
|
/**
|
|
* Retrieves and removes the first element of this deque.
|
|
*
|
|
* @return the head (first) element of this deque.
|
|
*/
|
|
public KType removeFirst();
|
|
|
|
/**
|
|
* Retrieves and removes the last element of this deque.
|
|
*
|
|
* @return the tail of this deque.
|
|
*/
|
|
public KType removeLast();
|
|
|
|
/**
|
|
* Retrieves the first element of this deque but does not remove it.
|
|
*
|
|
* @return the head of this deque.
|
|
*/
|
|
public KType getFirst();
|
|
|
|
/**
|
|
* Retrieves the last element of this deque but does not remove it.
|
|
*
|
|
* @return the head of this deque.
|
|
*/
|
|
public KType getLast();
|
|
|
|
/**
|
|
* @return An iterator over elements in this deque in tail-to-head order.
|
|
*/
|
|
public Iterator<ObjectCursor<KType>> descendingIterator();
|
|
|
|
/** Applies a <code>procedure</code> to all elements in tail-to-head order. */
|
|
public <T extends ObjectProcedure<? super KType>> T descendingForEach(T procedure);
|
|
|
|
/**
|
|
* Applies a <code>predicate</code> to container elements as long, as the predicate returns <code>
|
|
* true</code>. The iteration is interrupted otherwise.
|
|
*/
|
|
public <T extends ObjectPredicate<? super KType>> T descendingForEach(T predicate);
|
|
}
|