All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.carrotsearch.hppc.CharDeque Maven / Gradle / Ivy

There is a newer version: 4.15.102
Show newest version
package com.carrotsearch.hppc;

import java.util.Deque;
import java.util.Iterator;

import com.carrotsearch.hppc.cursors.CharCursor;
import com.carrotsearch.hppc.predicates.CharPredicate;
import com.carrotsearch.hppc.procedures.CharProcedure;

/**
 * A linear collection that supports element insertion and removal at both ends.
 * 
 * @see Deque
 */
 @javax.annotation.Generated(
    date = "2015-05-07T09:33:04+0200",
    value = "KTypeDeque.java") 
public interface CharDeque extends CharCollection {
  /**
   * Removes the first element that equals e.
   * 
   * @return The deleted element's index or -1 if the element
   *         was not found.
   */
  public int removeFirst(char 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(char e);

  /**
   * Inserts the specified element at the front of this deque.
   */
  public void addFirst(char e);

  /**
   * Inserts the specified element at the end of this deque.
   */
  public void addLast(char e);

  /**
   * Retrieves and removes the first element of this deque.
   *
   * @return the head (first) element of this deque.
   */
  public char removeFirst();

  /**
   * Retrieves and removes the last element of this deque.
   *
   * @return the tail of this deque.
   */
  public char removeLast();

  /**
   * Retrieves the first element of this deque but does not remove it.
   *
   * @return the head of this deque.
   */
  public char getFirst();

  /**
   * Retrieves the last element of this deque but does not remove it.
   *
   * @return the head of this deque.
   */
  public char 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);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy