com.carrotsearch.hppc.CharCollection 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 com.carrotsearch.hppc.predicates.CharPredicate;
/**
* A collection allows basic, efficient operations on sets of elements
* (difference and intersection).
*/
@com.carrotsearch.hppc.Generated(
date = "2018-05-21T12:24:05+0200",
value = "KTypeCollection.java")
public interface CharCollection extends CharContainer {
/**
* Removes all occurrences of e
from this collection.
*
* @param e
* Element to be removed from this collection, if present.
* @return The number of removed elements as a result of this call.
*/
public int removeAll(char e);
/**
* Removes all elements in this collection that are present in c
.
*
* @return Returns the number of removed elements.
*/
public int removeAll(CharLookupContainer c);
/**
* Removes all elements in this collection for which the given predicate
* returns true
.
*
* @return Returns the number of removed elements.
*/
public int removeAll(CharPredicate predicate);
/**
* Keeps all elements in this collection that are present in c
.
* Runs in time proportional to the number of elements in this collection.
* Equivalent of sets intersection.
*
* @return Returns the number of removed elements.
*/
public int retainAll(CharLookupContainer c);
/**
* Keeps all elements in this collection for which the given predicate returns
* true
.
*
* @return Returns the number of removed elements.
*/
public int retainAll(CharPredicate predicate);
/**
* Removes all elements from this collection.
*
* @see #release()
*/
public void clear();
/**
* Removes all elements from the collection and additionally releases any
* internal buffers. Typically, if the object is to be reused, a simple
* {@link #clear()} should be a better alternative since it'll avoid
* reallocation.
*
* @see #clear()
*/
public void release();
}