Class AbstractImmutableList.ImmutableSubList<T>
- java.lang.Object
-
- org.eclipse.collections.impl.AbstractRichIterable<T>
-
- org.eclipse.collections.impl.collection.immutable.AbstractImmutableCollection<T>
-
- org.eclipse.collections.impl.list.immutable.AbstractImmutableList<T>
-
- org.eclipse.collections.impl.list.immutable.AbstractImmutableList.ImmutableSubList<T>
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Iterable<T>
,java.util.Collection<T>
,java.util.List<T>
,java.util.RandomAccess
,ImmutableCollection<T>
,InternalIterable<T>
,ImmutableList<T>
,ListIterable<T>
,OrderedIterable<T>
,ReversibleIterable<T>
,RichIterable<T>
- Enclosing class:
- AbstractImmutableList<T>
protected static class AbstractImmutableList.ImmutableSubList<T> extends AbstractImmutableList<T> implements java.io.Serializable, java.util.RandomAccess
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.collections.impl.list.immutable.AbstractImmutableList
AbstractImmutableList.ImmutableSubList<T>
-
-
Field Summary
Fields Modifier and Type Field Description private int
offset
private ImmutableList<T>
original
private static long
serialVersionUID
private int
size
-
Constructor Summary
Constructors Modifier Constructor Description protected
ImmutableSubList(ImmutableList<T> list, int fromIndex, int toIndex)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
checkIfOutOfBounds(int index)
void
each(Procedure<? super T> procedure)
The procedure is executed for each element in the iterable.<P> void
forEachWith(Procedure2<? super T,? super P> procedure, P parameter)
The procedure2 is evaluated for each element in the iterable with the specified parameter provided as the second argument.void
forEachWithIndex(ObjectIntProcedure<? super T> objectIntProcedure)
Iterates over the iterable passing each element and the current relative int index to the specified instance of ObjectIntProcedure.T
get(int index)
Returns the item at the specified position in this list iterable.T
getFirst()
Returns the first element of an iterable.T
getLast()
Returns the last element of an iterable.java.util.Iterator<T>
iterator()
ImmutableList<T>
newWith(T newItem)
This method is similar to thewith
method inMutableCollection
with the difference that a new copy of this collection with the element appended will be returned.int
size()
Returns the number of items in this iterable.AbstractImmutableList.ImmutableSubList<T>
subList(int fromIndex, int toIndex)
MutableStack<T>
toStack()
Converts the OrderedIterable to a mutable MutableStack implementation.protected java.lang.Object
writeReplace()
-
Methods inherited from class org.eclipse.collections.impl.list.immutable.AbstractImmutableList
add, addAll, appendString, asParallel, asReversed, castToList, chunk, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectWith, collectWith, corresponds, count, detectIndex, detectLastIndex, distinct, distinct, distinctBy, drop, dropWhile, equals, flatCollect, flatCollect, forEach, forEachWithIndex, groupBy, groupBy, groupByEach, groupByEach, hashCode, indexOf, injectInto, injectInto, injectInto, injectInto, injectInto, lastIndexOf, listIterator, listIterator, max, max, maxBy, min, min, minBy, newMutable, newWithAll, newWithout, newWithoutAll, partition, partitionWhile, partitionWith, regularListEquals, reject, rejectWith, rejectWith, remove, replaceAll, select, selectInstancesOf, selectWith, selectWith, set, sort, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, take, takeWhile, tap, toImmutable, toReversed, zip, zipWithIndex
-
Methods inherited from class org.eclipse.collections.impl.collection.immutable.AbstractImmutableCollection
add, addAll, castToCollection, clear, countBy, countByEach, countByWith, groupByUniqueKey, parallelStream, reduce, remove, removeAll, removeAllFrom, retainAll, spliterator, stream, sumByDouble, sumByFloat, sumByInt, sumByLong
-
Methods inherited from class org.eclipse.collections.impl.AbstractRichIterable
allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, appendString, asLazy, collect, collectIf, contains, containsAll, containsAllArguments, containsAllIterable, countWith, detect, detectOptional, detectWith, detectWithIfNone, detectWithOptional, forEach, groupByUniqueKey, into, isEmpty, noneSatisfy, noneSatisfyWith, reject, select, toArray, toArray, toBag, toBiMap, toList, toMap, toSet, toSortedBag, toSortedBag, toSortedBagBy, toSortedListBy, toSortedMap, toSortedMap, toSortedMapBy, toSortedSet, toSortedSet, toSortedSetBy, toString, zip, zipWithIndex
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.collections.api.collection.ImmutableCollection
aggregateBy, aggregateInPlaceBy, castToCollection, countBy, countByEach, countByWith, groupByUniqueKey, parallelStream, spliterator, stream, sumByDouble, sumByFloat, sumByInt, sumByLong
-
Methods inherited from interface org.eclipse.collections.api.list.ImmutableList
collectWithIndex, flatCollectWith, rejectWithIndex, selectWithIndex, toImmutableList
-
Methods inherited from interface org.eclipse.collections.api.InternalIterable
forEach
-
Methods inherited from interface java.util.List
add, addAll, clear, contains, containsAll, isEmpty, remove, removeAll, retainAll, spliterator, toArray, toArray
-
Methods inherited from interface org.eclipse.collections.api.list.ListIterable
binarySearch, binarySearch, forEachInBoth
-
Methods inherited from interface org.eclipse.collections.api.ordered.OrderedIterable
collectWithIndex, getFirstOptional, getLastOptional, rejectWithIndex, selectWithIndex, zip, zipWithIndex
-
Methods inherited from interface org.eclipse.collections.api.ordered.ReversibleIterable
reverseForEach, reverseForEachWithIndex
-
Methods inherited from interface org.eclipse.collections.api.RichIterable
aggregateBy, allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, appendString, appendString, asLazy, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, contains, containsAll, containsAllArguments, containsAllIterable, containsAny, containsAnyIterable, containsBy, containsNone, containsNoneIterable, countBy, countByEach, countByWith, countWith, detect, detectIfNone, detectOptional, detectWith, detectWithIfNone, detectWithOptional, flatCollectBoolean, flatCollectByte, flatCollectChar, flatCollectDouble, flatCollectFloat, flatCollectInt, flatCollectLong, flatCollectShort, flatCollectWith, forEach, getAny, getOnly, groupByAndCollect, groupByUniqueKey, injectIntoDouble, injectIntoFloat, injectIntoInt, injectIntoLong, into, isEmpty, makeString, makeString, makeString, makeString, maxByOptional, maxOptional, maxOptional, minByOptional, minOptional, minOptional, noneSatisfy, noneSatisfyWith, notEmpty, reduce, reduceInPlace, reduceInPlace, reject, select, summarizeDouble, summarizeFloat, summarizeInt, summarizeLong, toArray, toArray, toBag, toBiMap, toImmutableBag, toImmutableBiMap, toImmutableMap, toImmutableSet, toImmutableSortedBag, toImmutableSortedBag, toImmutableSortedBagBy, toImmutableSortedList, toImmutableSortedList, toImmutableSortedListBy, toImmutableSortedSet, toImmutableSortedSet, toImmutableSortedSetBy, toList, toMap, toMap, toSet, toSortedBag, toSortedBag, toSortedBagBy, toSortedList, toSortedList, toSortedListBy, toSortedMap, toSortedMap, toSortedMapBy, toSortedSet, toSortedSet, toSortedSetBy, toString
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
original
private final ImmutableList<T> original
-
offset
private final int offset
-
size
private final int size
-
-
Constructor Detail
-
ImmutableSubList
protected ImmutableSubList(ImmutableList<T> list, int fromIndex, int toIndex)
-
-
Method Detail
-
get
public T get(int index)
Description copied from interface:ListIterable
Returns the item at the specified position in this list iterable.- Specified by:
get
in interfacejava.util.List<T>
- Specified by:
get
in interfaceListIterable<T>
-
size
public int size()
Description copied from interface:RichIterable
Returns the number of items in this iterable.- Specified by:
size
in interfacejava.util.Collection<T>
- Specified by:
size
in interfacejava.util.List<T>
- Specified by:
size
in interfaceRichIterable<T>
-
newWith
public ImmutableList<T> newWith(T newItem)
Description copied from interface:ImmutableCollection
This method is similar to thewith
method inMutableCollection
with the difference that a new copy of this collection with the element appended will be returned.- Specified by:
newWith
in interfaceImmutableCollection<T>
- Specified by:
newWith
in interfaceImmutableList<T>
-
writeReplace
protected java.lang.Object writeReplace()
-
iterator
public java.util.Iterator<T> iterator()
-
subList
public AbstractImmutableList.ImmutableSubList<T> subList(int fromIndex, int toIndex)
- Specified by:
subList
in interfaceImmutableList<T>
- Specified by:
subList
in interfacejava.util.List<T>
- Specified by:
subList
in interfaceListIterable<T>
- Overrides:
subList
in classAbstractImmutableList<T>
- See Also:
List.subList(int, int)
-
checkIfOutOfBounds
private void checkIfOutOfBounds(int index)
-
getFirst
public T getFirst()
Description copied from interface:RichIterable
Returns the first element of an iterable. In the case of a List it is the element at the first index. In the case of any other Collection, it is the first element that would be returned during an iteration. If the iterable is empty, null is returned. If null is a valid element of the container, then a developer would need to check to see if the iterable is empty to validate that a null result was not due to the container being empty.The order of Sets are not guaranteed (except for TreeSets and other Ordered Set implementations), so if you use this method, the first element could be any element from the Set.
- Specified by:
getFirst
in interfaceListIterable<T>
- Specified by:
getFirst
in interfaceOrderedIterable<T>
- Specified by:
getFirst
in interfaceRichIterable<T>
- Overrides:
getFirst
in classAbstractImmutableList<T>
-
getLast
public T getLast()
Description copied from interface:RichIterable
Returns the last element of an iterable. In the case of a List it is the element at the last index. In the case of any other Collection, it is the last element that would be returned during an iteration. If the iterable is empty, null is returned. If null is a valid element of the container, then a developer would need to check to see if the iterable is empty to validate that a null result was not due to the container being empty.The order of Sets are not guaranteed (except for TreeSets and other Ordered Set implementations), so if you use this method, the last element could be any element from the Set.
- Specified by:
getLast
in interfaceListIterable<T>
- Specified by:
getLast
in interfaceOrderedIterable<T>
- Specified by:
getLast
in interfaceRichIterable<T>
- Overrides:
getLast
in classAbstractImmutableList<T>
-
toStack
public MutableStack<T> toStack()
Description copied from interface:OrderedIterable
Converts the OrderedIterable to a mutable MutableStack implementation.- Specified by:
toStack
in interfaceOrderedIterable<T>
-
each
public void each(Procedure<? super T> procedure)
Description copied from interface:RichIterable
The procedure is executed for each element in the iterable.Example using a Java 8 lambda expression:
people.each(person -> LOGGER.info(person.getName()));
Example using an anonymous inner class:
people.each(new Procedure<Person>() { public void value(Person person) { LOGGER.info(person.getName()); } });
This method is a variant ofInternalIterable.forEach(Procedure)
that has a signature conflict withIterable.forEach(java.util.function.Consumer)
.- Specified by:
each
in interfaceRichIterable<T>
- See Also:
InternalIterable.forEach(Procedure)
,Iterable.forEach(java.util.function.Consumer)
-
forEachWithIndex
public void forEachWithIndex(ObjectIntProcedure<? super T> objectIntProcedure)
Description copied from interface:InternalIterable
Iterates over the iterable passing each element and the current relative int index to the specified instance of ObjectIntProcedure.Example using a Java 8 lambda:
people.forEachWithIndex((Person person, int index) -> LOGGER.info("Index: " + index + " person: " + person.getName()));
Example using an anonymous inner class:
people.forEachWithIndex(new ObjectIntProcedure<Person>() { public void value(Person person, int index) { LOGGER.info("Index: " + index + " person: " + person.getName()); } });
- Specified by:
forEachWithIndex
in interfaceInternalIterable<T>
- Specified by:
forEachWithIndex
in interfaceOrderedIterable<T>
- Overrides:
forEachWithIndex
in classAbstractImmutableList<T>
-
forEachWith
public <P> void forEachWith(Procedure2<? super T,? super P> procedure, P parameter)
Description copied from interface:InternalIterable
The procedure2 is evaluated for each element in the iterable with the specified parameter provided as the second argument.Example using a Java 8 lambda:
people.forEachWith((Person person, Person other) -> { if (person.isRelatedTo(other)) { LOGGER.info(person.getName()); } }, fred);
Example using an anonymous inner class:
people.forEachWith(new Procedure2<Person, Person>() { public void value(Person person, Person other) { if (person.isRelatedTo(other)) { LOGGER.info(person.getName()); } } }, fred);
- Specified by:
forEachWith
in interfaceInternalIterable<T>
- Overrides:
forEachWith
in classAbstractImmutableList<T>
-
-