Package org.yamcs.utils
Class IntArray
java.lang.Object
org.yamcs.utils.IntArray
expandable array of ints
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(int x) add value to the arrayvoid
add
(int pos, int x) int[]
array()
get the backing arrayint
binarySearch
(int x) Assuming that the array is sorted, performs a binary search and returns the position of the found element.static int
Compares two arrays.boolean
int
get
(int pos) get element at positionint
hashCode()
int
indexOf
(int x) Returns the index of the first occurrence of the specified element in the array, or -1 if the array does not contain the element.int
intersectionSize
(IntArray input) return the number of elements of the intersection of the two arraysboolean
isEmpty()
int
remove
(int pos) Remove element at position shifting all subsequent elements to the leftvoid
set
(int pos, int x) int
size()
void
sort()
void
Sort the array concurrently swapping the elements in the list such that the correspondence is kept.stream()
int[]
toArray()
toString()
static IntArray
Assuming that a1 and a2 are sorted, returns a new array storing the union.static IntArray
wrap
(int... array) Creates the IntArray with the backing array
-
Field Details
-
DEFAULT_CAPACITY
public static final int DEFAULT_CAPACITY- See Also:
-
-
Constructor Details
-
IntArray
public IntArray()Creates a sorted int array with a default initial capacity -
IntArray
public IntArray(int capacity) Creates an IntArray with a given initial capacity- Parameters:
capacity
-
-
-
Method Details
-
wrap
Creates the IntArray with the backing array- Parameters:
array
-- Returns:
- a new object containing all the values from the passed array
-
add
public void add(int x) add value to the array- Parameters:
x
- * - value to be added
-
add
public void add(int pos, int x) -
get
public int get(int pos) get element at position- Parameters:
pos
-- Returns:
- the element at the specified position
-
remove
public int remove(int pos) Remove element at position shifting all subsequent elements to the left- Parameters:
pos
-- Returns:
- the element removed
-
stream
-
isEmpty
public boolean isEmpty() -
toArray
public int[] toArray() -
size
public int size()- Returns:
- the size of the array (which is smaller or equal than the length of the underlying int[] array)
-
set
public void set(int pos, int x) -
indexOf
public int indexOf(int x) Returns the index of the first occurrence of the specified element in the array, or -1 if the array does not contain the element.- Parameters:
x
- element which is searched for- Returns:
- the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element.
-
array
public int[] array()get the backing array- Returns:
- the backing array
-
binarySearch
public int binarySearch(int x) Assuming that the array is sorted, performs a binary search and returns the position of the found element. SeeArrays.binarySearch(int[], int)
for details. If the array is not sorted, the behaviour is undefined.- Parameters:
x
- - the value to be searched for- Returns:
-
intersectionSize
return the number of elements of the intersection of the two arraysboth this and input have to be sorted
-
union
Assuming that a1 and a2 are sorted, returns a new array storing the union.sizeHint is the expected size of the returned array
-
sort
public void sort() -
sort
Sort the array concurrently swapping the elements in the list such that the correspondence is kept. The list has to contain the same number of elements as the array- Parameters:
list
-
-
hashCode
public int hashCode() -
equals
-
toString
-
compare
Compares two arrays. Assuming that the arrays a1 and a2 are sorted, it returns- 0 if a1 == a2
- 1 if a1 is a subset of a2
- 2 if a2 is a subset of a1
- -1 otherwise
- Parameters:
a1
- - first arraya2
- - second array
-