com.badlogic.gdx.utils
Class ByteArray

java.lang.Object
  extended by com.badlogic.gdx.utils.ByteArray

public class ByteArray
extends Object

A resizable, ordered or unordered byte array. Avoids the boxing that occurs with ArrayList. If unordered, this class avoids a memory copy when removing elements (the last element is moved to the removed element's position).

Author:
Nathan Sweet

Field Summary
 byte[] items
           
 boolean ordered
           
 int size
           
 
Constructor Summary
ByteArray()
          Creates an ordered array with a capacity of 16.
ByteArray(boolean ordered, byte[] array, int startIndex, int count)
          Creates a new array containing the elements in the specified array.
ByteArray(boolean ordered, int capacity)
           
ByteArray(byte[] array)
          Creates a new ordered array containing the elements in the specified array.
ByteArray(ByteArray array)
          Creates a new array containing the elements in the specific array.
ByteArray(int capacity)
          Creates an ordered array with the specified capacity.
 
Method Summary
 void add(byte value)
           
 void addAll(byte... array)
           
 void addAll(byte[] array, int offset, int length)
           
 void addAll(ByteArray array)
           
 void addAll(ByteArray array, int offset, int length)
           
 void clear()
           
 boolean contains(byte value)
           
 byte[] ensureCapacity(int additionalCapacity)
          Increases the size of the backing array to accommodate the specified number of additional items.
 boolean equals(Object object)
           
 byte first()
          Returns the first item.
 byte get(int index)
           
 void incr(int index, byte value)
           
 int indexOf(byte value)
           
 void insert(int index, byte value)
           
 int lastIndexOf(byte value)
           
 void mul(int index, byte value)
           
 byte peek()
          Returns the last item.
 byte pop()
          Removes and returns the last item.
 byte random()
          Returns a random item from the array, or zero if the array is empty.
 boolean removeAll(ByteArray array)
          Removes from this array all of elements contained in the specified array.
 int removeIndex(int index)
          Removes and returns the item at the specified index.
 void removeRange(int start, int end)
          Removes the items at the specified indices, inclusive.
 boolean removeValue(byte value)
           
 void reverse()
           
 void set(int index, byte value)
           
 byte[] shrink()
          Reduces the size of the backing array to the size of the actual items.
 void shuffle()
           
 void sort()
           
 void swap(int first, int second)
           
 byte[] toArray()
           
 String toString()
           
 String toString(String separator)
           
 void truncate(int newSize)
          Reduces the size of the array to the specified size.
static ByteArray with(byte... array)
           
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

items

public byte[] items

size

public int size

ordered

public boolean ordered
Constructor Detail

ByteArray

public ByteArray()
Creates an ordered array with a capacity of 16.


ByteArray

public ByteArray(int capacity)
Creates an ordered array with the specified capacity.


ByteArray

public ByteArray(boolean ordered,
                 int capacity)
Parameters:
ordered - If false, methods that remove elements may change the order of other elements in the array, which avoids a memory copy.
capacity - Any elements added beyond this will cause the backing array to be grown.

ByteArray

public ByteArray(ByteArray array)
Creates a new array containing the elements in the specific array. The new array will be ordered if the specific array is ordered. The capacity is set to the number of elements, so any subsequent elements added will cause the backing array to be grown.


ByteArray

public ByteArray(byte[] array)
Creates a new ordered array 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.


ByteArray

public ByteArray(boolean ordered,
                 byte[] array,
                 int startIndex,
                 int count)
Creates a new array 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 - If false, methods that remove elements may change the order of other elements in the array, which avoids a memory copy.
Method Detail

add

public void add(byte value)

addAll

public void addAll(ByteArray array)

addAll

public void addAll(ByteArray array,
                   int offset,
                   int length)

addAll

public void addAll(byte... array)

addAll

public void addAll(byte[] array,
                   int offset,
                   int length)

get

public byte get(int index)

set

public void set(int index,
                byte value)

incr

public void incr(int index,
                 byte value)

mul

public void mul(int index,
                byte value)

insert

public void insert(int index,
                   byte value)

swap

public void swap(int first,
                 int second)

contains

public boolean contains(byte value)

indexOf

public int indexOf(byte value)

lastIndexOf

public int lastIndexOf(byte value)

removeValue

public boolean removeValue(byte value)

removeIndex

public int removeIndex(int index)
Removes and returns the item at the specified index.


removeRange

public void removeRange(int start,
                        int end)
Removes the items at the specified indices, inclusive.


removeAll

public boolean removeAll(ByteArray array)
Removes from this array all of elements contained in the specified array.

Returns:
true if this array was modified.

pop

public byte pop()
Removes and returns the last item.


peek

public byte peek()
Returns the last item.


first

public byte first()
Returns the first item.


clear

public void clear()

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

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

sort

public void sort()

reverse

public void reverse()

shuffle

public void shuffle()

truncate

public void truncate(int newSize)
Reduces the size of the array to the specified size. If the array is already smaller than the specified size, no action is taken.


random

public byte random()
Returns a random item from the array, or zero if the array is empty.


toArray

public byte[] toArray()

equals

public boolean equals(Object object)
Overrides:
equals in class Object

toString

public String toString()
Overrides:
toString in class Object

toString

public String toString(String separator)

with

public static ByteArray with(byte... array)
See Also:
ByteArray(byte[])


Copyright © 2014. All Rights Reserved.