Class ByteArraySet
- java.lang.Object
-
- java.util.AbstractCollection<Byte>
-
- it.unimi.dsi.fastutil.bytes.AbstractByteCollection
-
- it.unimi.dsi.fastutil.bytes.AbstractByteSet
-
- it.unimi.dsi.fastutil.bytes.ByteArraySet
-
- All Implemented Interfaces:
ByteCollection,ByteIterable,ByteSet,Serializable,Cloneable,Iterable<Byte>,Collection<Byte>,Set<Byte>
public class ByteArraySet extends AbstractByteSet implements Serializable, Cloneable
A simple, brute-force implementation of a set based on a backing array.The main purpose of this implementation is that of wrapping cleanly the brute-force approach to the storage of a very small number of items: just put them into an array and scan linearly to find an item.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ByteArraySet()Creates a new empty array set.ByteArraySet(byte[] a)Creates a new array set using the given backing array.ByteArraySet(byte[] a, int size)Creates a new array set using the given backing array and the given number of elements of the array.ByteArraySet(int capacity)Creates a new empty array set of given initial capacity.ByteArraySet(ByteCollection c)Creates a new array set copying the contents of a given collection.ByteArraySet(Collection<? extends Byte> c)Creates a new array set copying the contents of a given set.
-
Method Summary
Modifier and Type Method Description booleanadd(byte k)Ensures that this collection contains the specified element (optional operation).voidclear()ByteArraySetclone()Returns a deep copy of this set.booleancontains(byte k)Returnstrueif this collection contains the specified element.booleanisEmpty()ByteIteratoriterator()Returns a type-specific iterator on the elements of this collection.booleanremove(byte k)Removes an element from this set.intsize()-
Methods inherited from class it.unimi.dsi.fastutil.bytes.AbstractByteSet
equals, hashCode, rem
-
Methods inherited from class it.unimi.dsi.fastutil.bytes.AbstractByteCollection
add, addAll, contains, containsAll, remove, removeAll, retainAll, toArray, toByteArray, toByteArray, toString
-
Methods inherited from class java.util.AbstractCollection
addAll, containsAll, removeAll, retainAll, toArray, toArray
-
Methods inherited from interface it.unimi.dsi.fastutil.bytes.ByteCollection
addAll, containsAll, removeAll, removeIf, removeIf, retainAll, toArray, toByteArray, toByteArray
-
Methods inherited from interface it.unimi.dsi.fastutil.bytes.ByteIterable
forEach, forEach
-
Methods inherited from interface java.util.Collection
parallelStream, stream, toArray
-
Methods inherited from interface java.util.Set
addAll, containsAll, removeAll, retainAll, spliterator, toArray, toArray
-
-
-
-
Constructor Detail
-
ByteArraySet
public ByteArraySet(byte[] a)
Creates a new array set using the given backing array. The resulting set will have as many elements as the array.It is responsibility of the caller that the elements of
aare distinct.- Parameters:
a- the backing array.
-
ByteArraySet
public ByteArraySet()
Creates a new empty array set.
-
ByteArraySet
public ByteArraySet(int capacity)
Creates a new empty array set of given initial capacity.- Parameters:
capacity- the initial capacity.
-
ByteArraySet
public ByteArraySet(ByteCollection c)
Creates a new array set copying the contents of a given collection.- Parameters:
c- a collection.
-
ByteArraySet
public ByteArraySet(Collection<? extends Byte> c)
Creates a new array set copying the contents of a given set.- Parameters:
c- a collection.
-
ByteArraySet
public ByteArraySet(byte[] a, int size)Creates a new array set using the given backing array and the given number of elements of the array.It is responsibility of the caller that the first
sizeelements ofaare distinct.- Parameters:
a- the backing array.size- the number of valid elements ina.
-
-
Method Detail
-
iterator
public ByteIterator iterator()
Description copied from interface:ByteCollectionReturns a type-specific iterator on the elements of this collection.Note that this specification strengthens the one given in
Iterable.iterator(), which was already strengthened in the corresponding type-specific class, but was weakened by the fact that this interface extendsCollection.- Specified by:
iteratorin interfaceByteCollection- Specified by:
iteratorin interfaceByteIterable- Specified by:
iteratorin interfaceByteSet- Specified by:
iteratorin interfaceCollection<Byte>- Specified by:
iteratorin interfaceIterable<Byte>- Specified by:
iteratorin interfaceSet<Byte>- Specified by:
iteratorin classAbstractByteSet- Returns:
- a type-specific iterator on the elements of this collection.
- See Also:
Iterable.iterator()
-
contains
public boolean contains(byte k)
Description copied from class:AbstractByteCollectionReturnstrueif this collection contains the specified element.This implementation iterates over the elements in the collection, looking for the specified element.
- Specified by:
containsin interfaceByteCollection- Overrides:
containsin classAbstractByteCollection- See Also:
Collection.contains(Object)
-
size
public int size()
- Specified by:
sizein interfaceCollection<Byte>- Specified by:
sizein interfaceSet<Byte>- Specified by:
sizein classAbstractCollection<Byte>
-
remove
public boolean remove(byte k)
Description copied from class:AbstractByteSetRemoves an element from this set.Note that the corresponding method of a type-specific collection is
rem(). This unfortunate situation is caused by the clash with the similarly named index-based method in theListinterface. Delegates to the type-specificrem()method implemented by type-specific abstractCollectionsuperclass.- Specified by:
removein interfaceByteSet- Overrides:
removein classAbstractByteSet- See Also:
Collection.remove(Object)
-
add
public boolean add(byte k)
Description copied from class:AbstractByteCollectionEnsures that this collection contains the specified element (optional operation).This implementation always throws an
UnsupportedOperationException.- Specified by:
addin interfaceByteCollection- Overrides:
addin classAbstractByteCollection- See Also:
Collection.add(Object)
-
clear
public void clear()
- Specified by:
clearin interfaceCollection<Byte>- Specified by:
clearin interfaceSet<Byte>- Overrides:
clearin classAbstractCollection<Byte>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfaceCollection<Byte>- Specified by:
isEmptyin interfaceSet<Byte>- Overrides:
isEmptyin classAbstractCollection<Byte>
-
clone
public ByteArraySet clone()
Returns a deep copy of this set.This method performs a deep copy of this array set; the data stored in the set, however, is not cloned. Note that this makes a difference only for object keys.
- Returns:
- a deep copy of this set.
-
-