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,
Integer ok)
Delegates to the corresponding type-specific method.
|
boolean |
addAll(Collection<? extends 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,
Collection<? extends 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(List<? extends Integer> l)
Compares this list to another object.
|
boolean |
contains(int k) |
boolean |
equals(Object o) |
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(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(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.
|
Integer |
peek(int i)
Delegates to the corresponding type-specific method.
|
int |
peekInt(int i) |
Integer |
pop()
Delegates to the corresponding type-specific method.
|
int |
popInt() |
void |
push(int o) |
void |
push(Integer o)
Delegates to the corresponding type-specific method.
|
boolean |
rem(int k)
|
Integer |
remove(int index)
Delegates to the corresponding type-specific method.
|
boolean |
remove(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) |
Integer |
set(int index,
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. |
Integer |
top()
Delegates to the corresponding type-specific method.
|
int |
topInt() |
String |
toString() |
add, contains, containsAll, containsAll, intIterator, isEmpty, rem, removeAll, removeAll, retainAll, retainAll, toArray, toArray, toArray, toIntArray, toIntArray
clear, size
add, clear, contains, containsAll, isEmpty, removeAll, retainAll, size, toArray, toArray
containsAll, intIterator, removeAll, retainAll, toArray, toArray, toIntArray, toIntArray
public void add(int index, int k)
add
in interface IntList
List.add(int,Object)
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)
removeInt
in interface IntList
List.remove(int)
public int set(int index, int k)
set
in interface IntList
List.set(int,Object)
public boolean addAll(int index, Collection<? extends Integer> c)
public boolean addAll(Collection<? extends Integer> c)
addAll
in interface Collection<Integer>
addAll
in interface List<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 Iterable<Integer>
iterator
in interface Collection<Integer>
iterator
in interface List<Integer>
iterator
in class AbstractIntCollection
public IntListIterator listIterator()
IntList
listIterator
in interface IntList
listIterator
in interface List<Integer>
List.listIterator()
public IntListIterator listIterator(int index)
IntList
listIterator
in interface IntList
listIterator
in interface List<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)
indexOf
in interface IntList
List.indexOf(Object)
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(Object o)
public int compareTo(List<? extends Integer> l)
List
, this method performs a lexicographical comparison; otherwise,
it throws a ClassCastException
.compareTo
in interface Comparable<List<? extends 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.ClassCastException
- if the argument is not a list.public int hashCode()
List.hashCode()
.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(Object o)
rem()
.remove
in interface Collection<Integer>
remove
in interface List<Integer>
remove
in class AbstractIntCollection
public boolean addAll(int index, IntCollection c)
addAll
in interface IntList
List.add(int,Object)
public boolean addAll(int index, IntList l)
addAll
in interface IntList
List.add(int,Object)
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)
addAll
in interface IntList
List.add(int,Object)
public void add(int index, Integer ok)
public Integer get(int index)
public int indexOf(Object ok)
public int lastIndexOf(Object ok)
lastIndexOf
in interface List<Integer>
public Integer remove(int index)
public void push(Integer o)
public Integer pop()
public Integer top()
public Integer peek(int i)
public String toString()
toString
in class AbstractIntCollection