Iterable Immutable List Assignment

From CSE425S Wiki
Jump to navigation Jump to search

Studio To Revisit

In this studio we will complete the DefaultImmutableList implementation from the ImmutableList studio. The ImmutableList interface extends Iterable which has one method: iterator().

References

Iterable

interface java.lang.Iterable<T>
Iterator<T> iterator()

Iterator

interface java.util.Iterator<T>
boolean hasNext()
T next()

ImmutableList

public interface ImmutableList<E> extends Iterable<E> {
	E head();
	ImmutableList<E> tail();
	boolean isEmpty();
}

Code To Implement

DefaultImmutableList

class: DefaultImmutableList.java Java.png
methods: iterator
package: immutable.list.assignment
source folder: src/main/java

iterator

public Iterator<E> iterator()

Example

class: ListsExample.java Presentation icon-72a7cf.svg
package: immutable.list.example
source folder: src/main/java

The code:

ImmutableList<Integer> numbers = Lists.brackets(4, 66, 99);
for (int i : numbers) {
	System.out.println(i);
}

produces:

4
66
99

Test

class: IterableAssignmentTestSuite.java Junit.png
package: immutable.list.assignment
source folder: src/test/java