public abstract class AbstractIntList extends AbstractIntCollection implements IntList, IntStack
As an additional bonus, this class implements on top of the list operations a type-specific stack.
Modifier and Type | Class and Description |
---|---|
static class |
AbstractIntList.IntSubList |
Modifier and Type | Method and Description |
---|---|
boolean |
add(int k) |
void |
add(int index,
int k) |
void |
add(int index,
java.lang.Integer ok)
Delegates to the corresponding type-specific method.
|
boolean |
addAll(java.util.Collection<? extends java.lang.Integer> c)
Delegates to a more generic method.
|
boolean |
addAll(IntCollection c)
Adds all elements of the given type-specific collection to this collection.
|
boolean |
addAll(int index,
java.util.Collection<? extends java.lang.Integer> c) |
boolean |
addAll(int index,
IntCollection c)
Delegates to a more generic method.
|
boolean |
addAll(int index,
IntList l)
Delegates to a more generic method.
|
boolean |
addAll(IntList l) |
void |
addElements(int index,
int[] a)
Add (hopefully quickly) elements to this type-specific list.
|
void |
addElements(int index,
int[] a,
int offset,
int length)
Adds elements to this type-specific list one-by-one.
|
int |
compareTo(java.util.List<? extends java.lang.Integer> l)
Compares this list to another object.
|
boolean |
contains(int k) |
boolean |
equals(java.lang.Object o) |
java.lang.Integer |
get(int index)
Delegates to the corresponding type-specific method.
|
void |
getElements(int from,
int[] a,
int offset,
int length)
Copies element of this type-specific list into the given array one-by-one.
|
int |
hashCode()
Returns the hash code for this list, which is identical to
List.hashCode() . |
int |
indexOf(int k) |
int |
indexOf(java.lang.Object ok)
Delegates to the corresponding type-specific method.
|
IntListIterator |
intListIterator()
Deprecated.
|
IntListIterator |
intListIterator(int index)
Deprecated.
|
IntList |
intSubList(int from,
int to)
Deprecated.
|
IntListIterator |
iterator()
Returns a type-specific iterator on the elements of this collection.
|
int |
lastIndexOf(int k) |
int |
lastIndexOf(java.lang.Object ok)
Delegates to the corresponding type-specific method.
|
IntListIterator |
listIterator()
Returns a type-specific list iterator on the list.
|
IntListIterator |
listIterator(int index)
Returns a type-specific list iterator on the list starting at a given index.
|
java.lang.Integer |
peek(int i)
Delegates to the corresponding type-specific method.
|
int |
peekInt(int i) |
java.lang.Integer |
pop()
Delegates to the corresponding type-specific method.
|
int |
popInt() |
void |
push(int o) |
void |
push(java.lang.Integer o)
Delegates to the corresponding type-specific method.
|
boolean |
rem(int k)
Note that this method should be called
remove() , but the clash
with the similarly named index-based method in the List interface
forces us to use a distinguished name. |
java.lang.Integer |
remove(int index)
Delegates to the corresponding type-specific method.
|
boolean |
remove(java.lang.Object o)
Delegates to
rem() . |
void |
removeElements(int from,
int to)
Removes elements of this type-specific list one-by-one.
|
int |
removeInt(int i) |
int |
set(int index,
int k) |
java.lang.Integer |
set(int index,
java.lang.Integer ok)
Delegates to the corresponding type-specific method.
|
void |
size(int size)
Sets the size of this list.
|
IntList |
subList(int from,
int to)
Returns a type-specific view of the portion of this list from the index
from , inclusive, to the index to , exclusive. |
java.lang.Integer |
top()
Delegates to the corresponding type-specific method.
|
int |
topInt() |
java.lang.String |
toString() |
add, contains, containsAll, containsAll, intIterator, isEmpty, rem, removeAll, removeAll, retainAll, retainAll, toArray, toArray, toArray, toIntArray, toIntArray
add, clear, contains, containsAll, isEmpty, removeAll, replaceAll, retainAll, size, sort, spliterator, toArray, toArray
containsAll, intIterator, removeAll, retainAll, toArray, toArray, toIntArray, toIntArray
public void add(int index, int k)
public boolean add(int k)
add
in interface IntCollection
add
in interface IntList
add
in class AbstractIntCollection
Collection.add(Object)
public int removeInt(int i)
public int set(int index, int k)
public boolean addAll(int index, java.util.Collection<? extends java.lang.Integer> c)
addAll
in interface java.util.List<java.lang.Integer>
public boolean addAll(java.util.Collection<? extends java.lang.Integer> c)
addAll
in interface java.util.Collection<java.lang.Integer>
addAll
in interface java.util.List<java.lang.Integer>
addAll
in class AbstractIntCollection
c
- a collection.true
if this collection changed as a result of the call.@Deprecated public IntListIterator intListIterator()
intListIterator
in interface IntList
IntList.listIterator()
@Deprecated public IntListIterator intListIterator(int index)
intListIterator
in interface IntList
IntList.listIterator(int)
public IntListIterator iterator()
IntCollection
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 extends Collection
.
iterator
in interface IntCollection
iterator
in interface IntIterable
iterator
in interface IntList
iterator
in interface java.lang.Iterable<java.lang.Integer>
iterator
in interface java.util.Collection<java.lang.Integer>
iterator
in interface java.util.List<java.lang.Integer>
iterator
in class AbstractIntCollection
public IntListIterator listIterator()
IntList
listIterator
in interface IntList
listIterator
in interface java.util.List<java.lang.Integer>
List.listIterator()
public IntListIterator listIterator(int index)
IntList
listIterator
in interface IntList
listIterator
in interface java.util.List<java.lang.Integer>
List.listIterator(int)
public boolean contains(int k)
contains
in interface IntCollection
contains
in class AbstractIntCollection
Collection.contains(Object)
public int indexOf(int k)
public int lastIndexOf(int k)
lastIndexOf
in interface IntList
List.lastIndexOf(Object)
public void size(int size)
IntList
If the specified size is smaller than the current size, the last elements are
discarded. Otherwise, they are filled with 0/null
/false
.
public IntList subList(int from, int to)
IntList
from
, inclusive, to the index to
, exclusive.
Note that this specification strengthens the one given in List.subList(int,int)
.
@Deprecated public IntList intSubList(int from, int to)
intSubList
in interface IntList
List.subList(int,int)
public void removeElements(int from, int to)
This is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.
removeElements
in interface IntList
from
- the start index (inclusive).to
- the end index (exclusive).public void addElements(int index, int[] a, int offset, int length)
This is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.
addElements
in interface IntList
index
- the index at which to add elements.a
- the array containing the elements.offset
- the offset of the first element to add.length
- the number of elements to add.public void addElements(int index, int[] a)
IntList
addElements
in interface IntList
index
- the index at which to add elements.a
- the array containing the elements.public void getElements(int from, int[] a, int offset, int length)
This is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.
getElements
in interface IntList
from
- the start index (inclusive).a
- the destination array.offset
- the offset into the destination array where to store the first element copied.length
- the number of elements to be copied.public boolean equals(java.lang.Object o)
equals
in interface java.util.Collection<java.lang.Integer>
equals
in interface java.util.List<java.lang.Integer>
equals
in class java.lang.Object
public int compareTo(java.util.List<? extends java.lang.Integer> l)
List
, this method performs a lexicographical comparison; otherwise,
it throws a ClassCastException
.compareTo
in interface java.lang.Comparable<java.util.List<? extends java.lang.Integer>>
l
- a list.List
, a negative integer,
zero, or a positive integer as this list is lexicographically less than, equal
to, or greater than the argument.java.lang.ClassCastException
- if the argument is not a list.public int hashCode()
List.hashCode()
.hashCode
in interface java.util.Collection<java.lang.Integer>
hashCode
in interface java.util.List<java.lang.Integer>
hashCode
in class java.lang.Object
public void push(int o)
push
in interface IntStack
Stack.push(Object)
public int popInt()
popInt
in interface IntStack
Stack.pop()
public int topInt()
topInt
in interface IntStack
Stack.top()
public int peekInt(int i)
peekInt
in interface IntStack
Stack.peek(int)
public boolean rem(int k)
IntCollection
remove()
, but the clash
with the similarly named index-based method in the List
interface
forces us to use a distinguished name. For simplicity, the set interfaces reinstates
remove()
.rem
in interface IntCollection
rem
in class AbstractIntCollection
Collection.remove(Object)
public boolean remove(java.lang.Object o)
rem()
.remove
in interface java.util.Collection<java.lang.Integer>
remove
in interface java.util.List<java.lang.Integer>
remove
in class AbstractIntCollection
public boolean addAll(int index, IntCollection c)
public boolean addAll(int index, IntList l)
public boolean addAll(IntCollection c)
AbstractIntCollection
addAll
in interface IntCollection
addAll
in class AbstractIntCollection
c
- a type-specific collection.true
if this collection changed as a result of the call.Collection.addAll(Collection)
public boolean addAll(IntList l)
public void add(int index, java.lang.Integer ok)
add
in interface java.util.List<java.lang.Integer>
public java.lang.Integer set(int index, java.lang.Integer ok)
set
in interface java.util.List<java.lang.Integer>
public java.lang.Integer get(int index)
get
in interface java.util.List<java.lang.Integer>
public int indexOf(java.lang.Object ok)
indexOf
in interface java.util.List<java.lang.Integer>
public int lastIndexOf(java.lang.Object ok)
lastIndexOf
in interface java.util.List<java.lang.Integer>
public java.lang.Integer remove(int index)
remove
in interface java.util.List<java.lang.Integer>
public void push(java.lang.Integer o)
public java.lang.Integer pop()
public java.lang.Integer top()
public java.lang.Integer peek(int i)
public java.lang.String toString()
toString
in class AbstractIntCollection