com.carrotsearch.hppc.LongDeque Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hppc Show documentation
Show all versions of hppc Show documentation
High Performance Primitive Collections: data structures (maps, sets, lists, stacks, queues) generated for combinations of object and primitive types to conserve JVM memory and speed up execution.
package com.carrotsearch.hppc;
import java.util.Deque;
import java.util.Iterator;
import com.carrotsearch.hppc.cursors.LongCursor;
import com.carrotsearch.hppc.predicates.LongPredicate;
import com.carrotsearch.hppc.procedures.LongProcedure;
/**
* A linear collection that supports element insertion and removal at both ends.
*
* @see Deque
*/
@com.carrotsearch.hppc.Generated(
date = "2018-05-21T12:24:05+0200",
value = "KTypeDeque.java")
public interface LongDeque extends LongCollection {
/**
* Removes the first element that equals e
.
*
* @return The deleted element's index or -1
if the element
* was not found.
*/
public int removeFirst(long e);
/**
* Removes the last element that equals e
.
*
* @return The deleted element's index or -1
if the element
* was not found.
*/
public int removeLast(long e);
/**
* Inserts the specified element at the front of this deque.
*/
public void addFirst(long e);
/**
* Inserts the specified element at the end of this deque.
*/
public void addLast(long e);
/**
* Retrieves and removes the first element of this deque.
*
* @return the head (first) element of this deque.
*/
public long removeFirst();
/**
* Retrieves and removes the last element of this deque.
*
* @return the tail of this deque.
*/
public long removeLast();
/**
* Retrieves the first element of this deque but does not remove it.
*
* @return the head of this deque.
*/
public long getFirst();
/**
* Retrieves the last element of this deque but does not remove it.
*
* @return the head of this deque.
*/
public long getLast();
/**
* @return An iterator over elements in this deque in tail-to-head order.
*/
public Iterator descendingIterator();
/**
* Applies a procedure
to all elements in tail-to-head order.
*/
public T descendingForEach(T procedure);
/**
* Applies a predicate
to container elements as long, as the
* predicate returns true
. The iteration is interrupted
* otherwise.
*/
public T descendingForEach(T predicate);
}