Package com.github.tommyettinger.ds
Class ByteList
java.lang.Object
com.github.tommyettinger.ds.ByteList
- All Implemented Interfaces:
Arrangeable,Ordered.OfByte,PrimitiveCollection<Byte>,PrimitiveCollection.OfByte
public class ByteList
extends Object
implements PrimitiveCollection.OfByte, Ordered.OfByte, Arrangeable
A resizable, insertion-ordered byte list. Primitive-backed, so it avoids the boxing that occurs with an ArrayList of Byte.
This tries to imitate most of the
List interface, though it can't implement it without boxing its items.
Has a primitive iterator accessible via iterator().-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAByteIterator, plusListIteratormethods, over the elements of a ByteList.Nested classes/interfaces inherited from interface com.github.tommyettinger.ds.Arrangeable
Arrangeable.ArrangeableList<T>Nested classes/interfaces inherited from interface com.github.tommyettinger.ds.PrimitiveCollection
PrimitiveCollection.OfBoolean, PrimitiveCollection.OfByte, PrimitiveCollection.OfChar, PrimitiveCollection.OfDouble, PrimitiveCollection.OfFloat, PrimitiveCollection.OfInt, PrimitiveCollection.OfLong, PrimitiveCollection.OfShort -
Field Summary
FieldsModifier and TypeFieldDescriptionbyte[]protected ByteList.ByteListIteratorprotected ByteList.ByteListIteratorprotected int -
Constructor Summary
ConstructorsConstructorDescriptionByteList()Creates an ordered list with a capacity of 10.ByteList(boolean ordered, byte[] array, int startIndex, int count) Deprecated.ByteList(boolean ordered, int capacity) Deprecated.ByteList is always ordered; for an unordered list useByteBagByteList(byte[] array) Creates a new list containing the elements in the specified array.ByteList(byte[] array, int startIndex, int count) Creates a new list containing the elements in the specified array.ByteList(int capacity) Creates an ordered list with the specified capacity.Creates a new list containing the elements in the given list.ByteList(Ordered.OfByte other) Copies the given Ordered.OfByte into a new ByteList.ByteList(Ordered.OfByte other, int offset, int count) Creates a new list by copyingcountitems from the given Ordered, starting atoffsetin that Ordered, into this.Creates a new list containing the items in the specified PrimitiveCollection.OfByte.ByteList(ByteIterator coll) Creates a new instance containing the items in the specified iterator. -
Method Summary
Modifier and TypeMethodDescriptionbooleanadd(byte value) voidadd(byte value1, byte value2) voidadd(byte value1, byte value2, byte value3) voidadd(byte value1, byte value2, byte value3, byte value4) booleanaddAll(byte... array) booleanaddAll(byte[] array, int offset, int length) booleanaddAll(int insertionIndex, Ordered.OfByte other, int offset, int count) Adds up tocountitems, starting fromoffset, in the Ordered.OfByteotherto this list, inserting starting atinsertionIndexin the iteration order.booleanbooleanbooleanaddAll(Ordered.OfByte other, int offset, int count) Adds up tocountitems, starting fromoffset, in the Ordered.OfByteotherto this list, inserting at the end of the iteration order.voidclear()Effectively removes all items from this ByteList.booleancontains(byte value) booleancontainsAll(ByteList other) Returns true if this ByteList contains, at least once, every item inother; otherwise returns false.div(byte value) Divides each item in this ByteList byvalue, stores it in this and returns it.voiddiv(int index, byte value) booleanduplicateRange(int index, int count) Inserts the specified number of items at the specified index.byte[]ensureCapacity(int additionalCapacity) Increases the size of the backing array to accommodate the specified number of additional items.booleanbytefirst()Returns the first item.byteget(int index) inthashCode()intindexOf(byte value) Returns the first index in this list that contains the specified value, or -1 if it is not present.voidinsert(int index, byte value) booleanisEmpty()Returns true if the list is empty.iterator()Returns a Java 8 primitive iterator over the int items in this ByteList.booleanReturns true if this implementation retains order, which it does.intlastIndexOf(byte value) Returns the last index in this list that contains the specified value, or -1 if it is not present.minus(byte value) Takes each item in this ByteList and subtractsvalue, stores it in this and returns it.voidminus(int index, byte value) booleannotEmpty()Returns true if the list has one or more items, or false otherwise.order()Returns this ByteList, since it is its own order.static ByteListCallsparse(String, String, boolean)with brackets set to false.static ByteListCreates a new collection and fills it by callingPrimitiveCollection.OfByte.addLegible(String, String, int, int)on either all ofstr(ifbracketsis false) orstrwithout its first and last chars (ifbracketsis true).static ByteListCreates a new collection and fills it by callingPrimitiveCollection.OfByte.addLegible(String, String, int, int)with the given four parameters as-is.bytepeek()Returns the last item.plus(byte value) Addsvalueto each item in this ByteList, stores it in this and returns it.voidplus(int index, byte value) bytepop()Removes and returns the last item.byteReturns a random item from the list, or zero if the list is empty.rem(byte value) Gets the remainder of each item in this ByteList withvalue, stores it in this and returns it.voidrem(int index, byte value) booleanremove(byte value) Removes the first occurrence ofvaluefrom this ByteList, returning true if anything was removed.booleanRemoves from this ByteList all occurrences of any elements contained in the specified collection.byteremoveAt(int index) Removes and returns the item at the specified index.booleanRemoves from this ByteList element-wise occurrences of elements contained in the specified collection.voidremoveRange(int start, int end) Removes the items between the specified start index, inclusive, and end index, exclusive.intreplaceAll(byte find, byte replace) Replaces every occurrence offindwithreplace.voidreplaceAll(com.github.tommyettinger.function.ByteToByteFunction operator) Replaces each element of this list with the result of applying the given operator to that element.booleanreplaceFirst(byte find, byte replace) Replaces the first occurrence offindwithreplace.protected byte[]resize(int newSize) booleanRemoves all items from this ByteList that are not present somewhere inother, any number of times.voidreverse()Reverses the order of this Ordered in-place.voidset(int index, byte value) byte[]setSize(int newSize) Sets the list size, leaving any values beyond the current size undefined.byte[]shrink()Reduces the size of the backing array to the size of the actual items.voidPseudo-randomly shuffles the order of this Ordered in-place.intsize()Returns the number of elements in this Arrangeable.voidsort()Sorts this entire collection usingArrays.sort(byte[], int, int)in ascending order.voidsort(int from, int to) UsesArrays.sort(byte[], int, int)to sort a (clamped) subrange of this collection in ascending order.voidsort(int from, int to, ByteComparator c) Sorts the specified range of elements according to the order induced by the specified comparator using mergesort, orArrays.sort(byte[], int, int)ifcis null.voidSorts all elements according to the order induced by the specified comparator usingByteComparators.sort(byte[], int, int, ByteComparator).voidswap(int first, int second) Switches the ordering of positionsfirstandsecond, without changing any items beyond that.times(byte value) Multiplies each item in this ByteList byvalue, stores it in this and returns it.voidtimes(int index, byte value) byte[]toArray()Allocates a new byte array withsizeelements and fills it with the items in this.byte[]toArray(byte[] array) Ifarray.lengthat least equal tosize(), this copies the contents of this intoarrayand returns it; otherwise, it allocates a new byte array that can fit all the items in this, and proceeds to copy into that and return that.toString()voidvoidtruncate(int newSize) Reduces the size of the list to the specified size.static ByteListwith()Constructs an empty list.static ByteListwith(byte item) Creates a new ByteList that holds only the given item, but can be resized.static ByteListwith(byte... varargs) Creates a new ByteList that holds only the given items, but can be resized.static ByteListwith(byte item0, byte item1) Creates a new ByteList that holds only the given items, but can be resized.static ByteListwith(byte item0, byte item1, byte item2) Creates a new ByteList that holds only the given items, but can be resized.static ByteListwith(byte item0, byte item1, byte item2, byte item3) Creates a new ByteList that holds only the given items, but can be resized.static ByteListwith(byte item0, byte item1, byte item2, byte item3, byte item4) Creates a new ByteList that holds only the given items, but can be resized.static ByteListwith(byte item0, byte item1, byte item2, byte item3, byte item4, byte item5) Creates a new ByteList that holds only the given items, but can be resized.static ByteListwith(byte item0, byte item1, byte item2, byte item3, byte item4, byte item5, byte item6) Creates a new ByteList that holds only the given items, but can be resized.static ByteListwith(byte item0, byte item1, byte item2, byte item3, byte item4, byte item5, byte item6, byte item7) Creates a new ByteList that holds only the given items, but can be resized.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.github.tommyettinger.ds.Arrangeable
rearrange, shuffleMethods inherited from interface com.github.tommyettinger.ds.Ordered.OfByte
getOrderType, random, selectRanked, selectRankedIndexMethods inherited from interface com.github.tommyettinger.ds.PrimitiveCollection.OfByte
addAll, addAll, addDense, addDense, addLegible, addLegible, addVarargs, appendTo, appendTo, containsAll, containsAll, containsAll, containsAll, containsAny, containsAny, containsAny, containsAny, denseAppendTo, forEach, removeAll, removeAll, removeAll, removeEach, removeEach, removeEach, removeIf, retainAll, retainAll, toDenseString, toDenseString, toString, toString, toString
-
Field Details
-
items
public byte[] items -
size
protected int size -
iterator1
-
iterator2
-
-
Constructor Details
-
ByteList
public ByteList()Creates an ordered list with a capacity of 10. -
ByteList
public ByteList(int capacity) Creates an ordered list with the specified capacity.- Parameters:
capacity- Any elements added beyond this will cause the backing array to be grown.
-
ByteList
Deprecated.ByteList is always ordered; for an unordered list useByteBagCreates an ordered list with the specified capacity.- Parameters:
ordered- ignored; for an unordered list useByteBagcapacity- Any elements added beyond this will cause the backing array to be grown.
-
ByteList
Creates a new list containing the elements in the given list. The new list will be ordered. The capacity is set to the number of elements, so any subsequent elements added will cause the backing array to be grown.- Parameters:
list- another ByteList (or ByteBag) to copy from
-
ByteList
public ByteList(byte[] array) Creates a new list containing the elements in the specified array. The capacity is set to the number of elements, so any subsequent elements added will cause the backing array to be grown.- Parameters:
array- a byte array to copy from
-
ByteList
public ByteList(byte[] array, int startIndex, int count) Creates a new list containing the elements in the specified array. The capacity is set to the number of elements, so any subsequent elements added will cause the backing array to be grown.- Parameters:
array- a non-null byte array to add to this liststartIndex- the first index inarrayto usecount- how many items to use fromarray
-
ByteList
Deprecated.ByteList is always ordered; for an unordered list useByteBagCreates a new list containing the elements in the specified array. The capacity is set to the number of elements, so any subsequent elements added will cause the backing array to be grown.- Parameters:
ordered- ignored; for an unordered list useByteBagarray- a non-null byte array to add to this liststartIndex- the first index inarrayto usecount- how many items to use fromarray
-
ByteList
Creates a new list containing the items in the specified PrimitiveCollection.OfByte.- Parameters:
coll- a primitive collection that will have its contents added to this
-
ByteList
Creates a new instance containing the items in the specified iterator.- Parameters:
coll- an iterator that will have its remaining contents added to this
-
ByteList
Copies the given Ordered.OfByte into a new ByteList.- Parameters:
other- another Ordered.OfByte that will have its contents copied into this
-
ByteList
Creates a new list by copyingcountitems from the given Ordered, starting atoffsetin that Ordered, into this.- Parameters:
other- another Ordered.OfByteoffset- the first index in other's ordering to draw an item fromcount- how many items to copy from other
-
-
Method Details
-
keepsOrder
public boolean keepsOrder()Returns true if this implementation retains order, which it does.- Returns:
- true
-
size
public int size()Description copied from interface:ArrangeableReturns the number of elements in this Arrangeable. Often this is shared withCollection.size(), but isn't always.- Specified by:
sizein interfaceArrangeable- Specified by:
sizein interfacePrimitiveCollection<Byte>- Returns:
- the number of elements in this Arrangeable
-
add
public boolean add(byte value) - Specified by:
addin interfacePrimitiveCollection.OfByte
-
add
public void add(byte value1, byte value2) -
add
public void add(byte value1, byte value2, byte value3) -
add
public void add(byte value1, byte value2, byte value3, byte value4) -
addAll
-
addAll
-
addAll
Adds up tocountitems, starting fromoffset, in the Ordered.OfByteotherto this list, inserting at the end of the iteration order.- Parameters:
other- a non-nullOrdered.OfByteoffset- the first index inotherto usecount- how many indices inotherto use- Returns:
- true if this is modified by this call, as
addAll(ByteList)does
-
addAll
Adds up tocountitems, starting fromoffset, in the Ordered.OfByteotherto this list, inserting starting atinsertionIndexin the iteration order.- Parameters:
insertionIndex- where to insert into the iteration orderother- a non-nullOrdered.OfByteoffset- the first index inotherto usecount- how many indices inotherto use- Returns:
- true if this is modified by this call, as
addAll(ByteList)does
-
addAll
public boolean addAll(byte... array) - Specified by:
addAllin interfacePrimitiveCollection.OfByte
-
addAll
public boolean addAll(byte[] array, int offset, int length) - Specified by:
addAllin interfacePrimitiveCollection.OfByte
-
get
public byte get(int index) -
set
public void set(int index, byte value) -
plus
public void plus(int index, byte value) -
plus
Addsvalueto each item in this ByteList, stores it in this and returns it. The presence of this method allows Kotlin code to use the+operator (though it shouldn't be used more than once in an expression, because this method modifies this ByteList).- Parameters:
value- each item in this will be assigneditem + value- Returns:
- this for chaining and Kotlin compatibility
-
times
public void times(int index, byte value) -
times
Multiplies each item in this ByteList byvalue, stores it in this and returns it. The presence of this method allows Kotlin code to use the*operator (though it shouldn't be used more than once in an expression, because this method modifies this ByteList).- Parameters:
value- each item in this will be assigneditem * value- Returns:
- this for chaining and Kotlin compatibility
-
minus
public void minus(int index, byte value) -
minus
Takes each item in this ByteList and subtractsvalue, stores it in this and returns it. This is just a minor convenience in Java, but the presence of this method allows Kotlin code to use the-operator (though it shouldn't be used more than once in an expression, because this method modifies this ByteList).- Parameters:
value- each item in this will be assigneditem - value- Returns:
- this for chaining and Kotlin compatibility
-
div
public void div(int index, byte value) -
div
Divides each item in this ByteList byvalue, stores it in this and returns it. The presence of this method allows Kotlin code to use the/operator (though it shouldn't be used more than once in an expression, because this method modifies this ByteList).- Parameters:
value- each item in this will be assigneditem / value- Returns:
- this for chaining and Kotlin compatibility
-
rem
public void rem(int index, byte value) -
rem
Gets the remainder of each item in this ByteList withvalue, stores it in this and returns it. The presence of this method allows Kotlin code to use the%operator (though it shouldn't be used more than once in an expression, because this method modifies this ByteList).- Parameters:
value- each item in this will be assigneditem % value- Returns:
- this for chaining and Kotlin compatibility
-
insert
public void insert(int index, byte value) -
duplicateRange
public boolean duplicateRange(int index, int count) Inserts the specified number of items at the specified index. The new items will have values equal to the values at those indices before the insertion, and the previous values will be pushed to after the duplicated range.- Parameters:
index- the first index to duplicatecount- how many items to duplicate
-
order
Returns this ByteList, since it is its own order. This is only here to satisfy theOrdered.OfByteinterface.- Specified by:
orderin interfaceOrdered.OfByte- Returns:
- this ByteList
-
swap
public void swap(int first, int second) Description copied from interface:Ordered.OfByteSwitches the ordering of positionsfirstandsecond, without changing any items beyond that.- Specified by:
swapin interfaceArrangeable- Specified by:
swapin interfaceOrdered.OfByte- Parameters:
first- the first position, must not be negative and must be less thanArrangeable.size()second- the second position, must not be negative and must be less thanArrangeable.size()
-
contains
public boolean contains(byte value) - Specified by:
containsin interfacePrimitiveCollection.OfByte
-
containsAll
Returns true if this ByteList contains, at least once, every item inother; otherwise returns false.- Parameters:
other- an ByteList- Returns:
- true if this contains every item in
other, otherwise false
-
indexOf
public int indexOf(byte value) Returns the first index in this list that contains the specified value, or -1 if it is not present.- Parameters:
value- a byte value to search for- Returns:
- the first index of the given value, or -1 if it is not present
-
lastIndexOf
public int lastIndexOf(byte value) Returns the last index in this list that contains the specified value, or -1 if it is not present.- Parameters:
value- a byte value to search for- Returns:
- the last index of the given value, or -1 if it is not present
-
remove
public boolean remove(byte value) Removes the first occurrence ofvaluefrom this ByteList, returning true if anything was removed. Otherwise, this returns false.- Specified by:
removein interfacePrimitiveCollection.OfByte- Parameters:
value- the value to (attempt to) remove- Returns:
- true if a value was removed, false if the ByteList is unchanged
-
removeAt
public byte removeAt(int index) Removes and returns the item at the specified index. Note that this is equivalent toList.remove(int), but can't have that name because we also haveremove(byte)that removes a value, rather than an index.- Parameters:
index- the index of the item to remove and return- Returns:
- the removed item
-
removeRange
public void removeRange(int start, int end) Removes the items between the specified start index, inclusive, and end index, exclusive. Note that this takes different arguments than some other range-related methods; this needs a start index and an end index, rather than a count of items. This matches the behavior in the JDK collections.- Specified by:
removeRangein interfaceOrdered.OfByte- Parameters:
start- the first index to remove, inclusiveend- the last index (after what should be removed), exclusive
-
removeAll
Removes from this ByteList all occurrences of any elements contained in the specified collection.- Specified by:
removeAllin interfacePrimitiveCollection.OfByte- Parameters:
c- a primitive collection of int items to remove fully, such as another ByteList or a ByteDeque- Returns:
- true if this list was modified.
-
removeEach
Removes from this ByteList element-wise occurrences of elements contained in the specified collection. Note that if a value is present more than once in this ByteList, only one of those occurrences will be removed for each occurrence of that value inc. Ifchas the same contents as this ByteList or has additional items, then removing each ofcwill clear this.- Specified by:
removeEachin interfacePrimitiveCollection.OfByte- Parameters:
c- a primitive collection of int items to remove one-by-one, such as another ByteList or a ByteDeque- Returns:
- true if this list was modified.
-
retainAll
Removes all items from this ByteList that are not present somewhere inother, any number of times.- Specified by:
retainAllin interfacePrimitiveCollection.OfByte- Parameters:
other- a PrimitiveCollection.OfByte that contains the items that this should keep, whenever present- Returns:
- true if this ByteList changed as a result of this call, otherwise false
-
replaceAll
public void replaceAll(com.github.tommyettinger.function.ByteToByteFunction operator) Replaces each element of this list with the result of applying the given operator to that element.- Parameters:
operator- a ByteToByteFunction (a functional interface defined in funderby)
-
replaceFirst
public boolean replaceFirst(byte find, byte replace) Replaces the first occurrence offindwithreplace. Returns true if it performed the replacement, or false if there was nothing to replace. This also returns false if find and replace are the same.- Parameters:
find- the item to search forreplace- the item to replacefindwith, if possible- Returns:
- true if this changed, or false otherwise
-
replaceAll
public int replaceAll(byte find, byte replace) Replaces every occurrence offindwithreplace. Returns the number of changed items, which is 0 if nothing was found or in the case that find and replace are the same.- Parameters:
find- the item to search forreplace- the item to replacefindwith, if possible- Returns:
- the number of replacements that occurred; 0 if nothing was found or replaced
-
pop
public byte pop()Removes and returns the last item.- Returns:
- the last item, removed from this
-
peek
public byte peek()Returns the last item.- Returns:
- the last item, without modifying this
-
first
public byte first()Returns the first item.- Specified by:
firstin interfacePrimitiveCollection.OfByte- Returns:
- the first item, without modifying this
-
notEmpty
public boolean notEmpty()Returns true if the list has one or more items, or false otherwise.- Specified by:
notEmptyin interfacePrimitiveCollection<Byte>- Returns:
- true if the list has one or more items, or false otherwise
-
isEmpty
public boolean isEmpty()Returns true if the list is empty.- Specified by:
isEmptyin interfacePrimitiveCollection<Byte>- Returns:
- true if the list is empty, or false if it has any items
-
clear
public void clear()Effectively removes all items from this ByteList. This is done simply by setting size to 0; because abyteitem isn't a reference, it doesn't need to be set to null.- Specified by:
clearin interfacePrimitiveCollection<Byte>
-
shrink
public byte[] shrink()Reduces the size of the backing array to the size of the actual items. This is useful to release memory when many items have been removed, or if it is known that more items will not be added.- Returns:
items; this will be a different reference if this resized
-
trimToSize
public void trimToSize() -
ensureCapacity
public byte[] ensureCapacity(int additionalCapacity) Increases the size of the backing array to accommodate the specified number of additional items. Useful before adding many items to avoid multiple backing array resizes.- Returns:
items; this will be a different reference if this resized
-
setSize
public byte[] setSize(int newSize) Sets the list size, leaving any values beyond the current size undefined.- Returns:
items; this will be a different reference if this resized to a larger capacity
-
resize
protected byte[] resize(int newSize) -
sort
public void sort()Sorts this entire collection usingArrays.sort(byte[], int, int)in ascending order. -
sort
public void sort(int from, int to) UsesArrays.sort(byte[], int, int)to sort a (clamped) subrange of this collection in ascending order.- Parameters:
from- the index of the first element (inclusive) to be sortedto- the index of the last element (exclusive) to be sorted
-
sort
Sorts all elements according to the order induced by the specified comparator usingByteComparators.sort(byte[], int, int, ByteComparator). Ifcis null, this instead delegates tosort(), which usesArrays.sort(byte[]), and does not always run in-place.This sort is guaranteed to be stable: equal elements will not be reordered as a result of the sort. The sorting algorithm is an in-place mergesort that is significantly slower than a standard mergesort, as its running time is O(n (log n)2), but it does not allocate additional memory; as a result, it can be used as a generic sorting algorithm.
- Specified by:
sortin interfaceOrdered.OfByte- Parameters:
c- the comparator to determine the order of the ByteList
-
sort
Sorts the specified range of elements according to the order induced by the specified comparator using mergesort, orArrays.sort(byte[], int, int)ifcis null. This purely usesByteComparators.sort(byte[], int, int, ByteComparator), and you can see its docs for more information. This clampsfromandtoto the valid range.- Parameters:
from- the index of the first element (inclusive) to be sortedto- the index of the last element (exclusive) to be sortedc- the comparator to determine the order of the ByteList
-
reverse
public void reverse()Description copied from interface:Ordered.OfByteReverses the order of this Ordered in-place.- Specified by:
reversein interfaceArrangeable- Specified by:
reversein interfaceOrdered.OfByte
-
shuffle
Description copied from interface:Ordered.OfBytePseudo-randomly shuffles the order of this Ordered in-place. You can seedrng, the random number generator, with an identical seed to reproduce a shuffle on two Ordered with the sameArrangeable.size().- Specified by:
shufflein interfaceArrangeable- Specified by:
shufflein interfaceOrdered.OfByte- Parameters:
random- anyRandomclass, such as one from juniper
-
truncate
public void truncate(int newSize) Reduces the size of the list to the specified size. If the list is already smaller than the specified size, no action is taken. -
random
Returns a random item from the list, or zero if the list is empty.- Specified by:
randomin interfaceOrdered.OfByte- Parameters:
random- aRandomor a subclass, such as any from juniper- Returns:
- a randomly selected item from this, or
0if this is empty
-
toArray
public byte[] toArray()Allocates a new byte array withsizeelements and fills it with the items in this.- Specified by:
toArrayin interfacePrimitiveCollection.OfByte- Returns:
- a new byte array with the same contents as this
-
toArray
public byte[] toArray(byte[] array) Ifarray.lengthat least equal tosize(), this copies the contents of this intoarrayand returns it; otherwise, it allocates a new byte array that can fit all the items in this, and proceeds to copy into that and return that.- Specified by:
toArrayin interfacePrimitiveCollection.OfByte- Parameters:
array- a byte array that will be modified if it can fitsize()items- Returns:
array, if it had sufficient size, or a new array otherwise, either with a copy of this
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacePrimitiveCollection<Byte>- Overrides:
hashCodein classObject
-
equals
- Specified by:
equalsin interfacePrimitiveCollection<Byte>- Overrides:
equalsin classObject
-
toString
-
iterator
Returns a Java 8 primitive iterator over the int items in this ByteList. Iterates in order ifkeepsOrder()returns true, which it does for a ByteList but not a ByteBag.
This will reuse one of two iterators in this ByteList; this does not allow nested iteration. UseByteListIterator(ByteList)to nest iterators.- Specified by:
iteratorin interfacePrimitiveCollection<Byte>- Specified by:
iteratorin interfacePrimitiveCollection.OfByte- Returns:
- a
ByteIterator; use its nextByte() method instead of next()
-
with
Constructs an empty list. This is usually less useful than just using the constructor, but can be handy in some code-generation scenarios when you don't know how many arguments you will have.- Returns:
- a new list containing nothing
-
with
Creates a new ByteList that holds only the given item, but can be resized.- Parameters:
item- a byte item- Returns:
- a new ByteList that holds the given item
-
with
Creates a new ByteList that holds only the given items, but can be resized.- Parameters:
item0- a byte itemitem1- a byte item- Returns:
- a new ByteList that holds the given items
-
with
Creates a new ByteList that holds only the given items, but can be resized.- Parameters:
item0- a byte itemitem1- a byte itemitem2- a byte item- Returns:
- a new ByteList that holds the given items
-
with
Creates a new ByteList that holds only the given items, but can be resized.- Parameters:
item0- a byte itemitem1- a byte itemitem2- a byte itemitem3- a byte item- Returns:
- a new ByteList that holds the given items
-
with
Creates a new ByteList that holds only the given items, but can be resized.- Parameters:
item0- a byte itemitem1- a byte itemitem2- a byte itemitem3- a byte itemitem4- a byte item- Returns:
- a new ByteList that holds the given items
-
with
Creates a new ByteList that holds only the given items, but can be resized.- Parameters:
item0- a byte itemitem1- a byte itemitem2- a byte itemitem3- a byte itemitem4- a byte itemitem5- a byte item- Returns:
- a new ByteList that holds the given items
-
with
public static ByteList with(byte item0, byte item1, byte item2, byte item3, byte item4, byte item5, byte item6) Creates a new ByteList that holds only the given items, but can be resized.- Parameters:
item0- a byte itemitem1- a byte itemitem2- a byte itemitem3- a byte itemitem4- a byte itemitem5- a byte itemitem6- a byte item- Returns:
- a new ByteList that holds the given items
-
with
public static ByteList with(byte item0, byte item1, byte item2, byte item3, byte item4, byte item5, byte item6, byte item7) Creates a new ByteList that holds only the given items, but can be resized.- Parameters:
item0- a byte itemitem1- a byte itemitem2- a byte itemitem3- a byte itemitem4- a byte itemitem5- a byte itemitem6- a byte item- Returns:
- a new ByteList that holds the given items
-
with
Creates a new ByteList that holds only the given items, but can be resized. This overload will only be used when an array is supplied and the type of the items requested is the component type of the array, or if varargs are used and there are 9 or more arguments.- Parameters:
varargs- a byte varargs or byte array; remember that varargs allocate- Returns:
- a new ByteList that holds the given items
-
parse
Callsparse(String, String, boolean)with brackets set to false.- Parameters:
str- a String that will be parsed in fulldelimiter- the delimiter between items in str- Returns:
- a new collection parsed from str
-
parse
Creates a new collection and fills it by callingPrimitiveCollection.OfByte.addLegible(String, String, int, int)on either all ofstr(ifbracketsis false) orstrwithout its first and last chars (ifbracketsis true). Each item is expected to be separated bydelimiter.- Parameters:
str- a String that will be parsed in full (depending on brackets)delimiter- the delimiter between items in strbrackets- if true, the first and last chars in str will be ignored- Returns:
- a new collection parsed from str
-
parse
Creates a new collection and fills it by callingPrimitiveCollection.OfByte.addLegible(String, String, int, int)with the given four parameters as-is.- Parameters:
str- a String that will have the given section parseddelimiter- the delimiter between items in stroffset- the first position to parse in str, inclusivelength- how many chars to parse, starting from offset- Returns:
- a new collection parsed from str
-
ByteBag