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:
Serializable
,Iterable<T>
,Collection<T>
,List<T>
,RandomAccess
,SequencedCollection<T>
,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 Serializable, RandomAccess
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.collections.impl.list.immutable.AbstractImmutableList
AbstractImmutableList.ImmutableSubList<T>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final int
private final ImmutableList
<T> private static final long
private final int
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ImmutableSubList
(ImmutableList<T> list, int fromIndex, int toIndex) -
Method Summary
Modifier and TypeMethodDescriptionprivate void
checkIfOutOfBounds
(int index) void
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.get
(int index) Returns the item at the specified position in this list iterable.getFirst()
Returns the first element of an iterable.getLast()
Returns the last element of an iterable.iterator()
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.subList
(int fromIndex, int toIndex) toStack()
Converts the OrderedIterable to a mutable MutableStack implementation.protected Object
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 java.util.Collection
parallelStream, removeIf, stream, toArray
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, addFirst, addLast, clear, contains, containsAll, isEmpty, remove, removeAll, removeFirst, removeLast, retainAll, reversed, 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 Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
original
-
offset
private final int offset -
size
private final int size
-
-
Constructor Details
-
ImmutableSubList
-
-
Method Details
-
get
Description copied from interface:ListIterable
Returns the item at the specified position in this list iterable. -
size
public int size()Description copied from interface:RichIterable
Returns the number of items in this iterable.- Specified by:
size
in interfaceCollection<T>
- Specified by:
size
in interfaceList<T>
- Specified by:
size
in interfaceRichIterable<T>
-
newWith
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
-
iterator
-
subList
- Specified by:
subList
in interfaceImmutableList<T>
- Specified by:
subList
in interfaceList<T>
- Specified by:
subList
in interfaceListIterable<T>
- Overrides:
subList
in classAbstractImmutableList<T>
- See Also:
-
checkIfOutOfBounds
private void checkIfOutOfBounds(int index) -
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 interfaceList<T>
- Specified by:
getFirst
in interfaceListIterable<T>
- Specified by:
getFirst
in interfaceOrderedIterable<T>
- Specified by:
getFirst
in interfaceRichIterable<T>
- Specified by:
getFirst
in interfaceSequencedCollection<T>
- Overrides:
getFirst
in classAbstractImmutableList<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 interfaceList<T>
- Specified by:
getLast
in interfaceListIterable<T>
- Specified by:
getLast
in interfaceOrderedIterable<T>
- Specified by:
getLast
in interfaceRichIterable<T>
- Specified by:
getLast
in interfaceSequencedCollection<T>
- Overrides:
getLast
in classAbstractImmutableList<T>
-
toStack
Description copied from interface:OrderedIterable
Converts the OrderedIterable to a mutable MutableStack implementation.- Specified by:
toStack
in interfaceOrderedIterable<T>
-
each
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:
-
forEachWithIndex
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
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>
-