Iterable Immutable List Assignment
Contents
Studio To Revisit
In this studio we will complete the DefaultImmutableList
implementation from the ImmutableList studio.
ImmutableList
The ImmutableList interface extends Iterable which has one method: iterator().
public interface ImmutableList<E> extends Iterable<E> { E head(); ImmutableList<E> tail(); boolean isEmpty(); }
Iterable
interface java.lang.Iterable<T>
Iterator
interface java.util.Iterator<T>
Example
DoubleRange
The DoubleRange warm up to gain experience implementing an Iterable<T> without simply containing a List<T> which holds the values. Further, you can gain experience creating instances of an anonymous class.
Example
class: | Mary Berry.java | |
package: | immutable.list.example | |
source folder: | src/main/java |
The code:
ImmutableList<Integer> numbers = Lists.brackets(4, 66, 99); for (Integer i : numbers) { System.out.println(i); }
produces:
4 66 99
Test
class: | IterableAssignmentTestSuite.java | |
package: | immutable.list.assignment | |
source folder: | src/test/java |