Difference between revisions of "Iterable Immutable List Assignment"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
=Studio To Revisit= | =Studio To Revisit= | ||
− | In this studio we will complete the <code>DefaultImmutableList</code> implementation from the [[ImmutableList_Assignment|ImmutableList studio]]. | + | In this studio we will complete the <code>DefaultImmutableList</code> implementation from the [[ImmutableList_Assignment|ImmutableList studio]]. |
+ | |||
+ | ==ImmutableList== | ||
+ | The [https://www.cse.wustl.edu/~cosgroved/courses/cse425s/spring20/apidocs/immutable/list/core/ImmutableList.html ImmutableList] interface extends [https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html Iterable] which has one method: [https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html#iterator-- iterator()]. | ||
<nowiki>public interface ImmutableList<E> extends Iterable<E> { | <nowiki>public interface ImmutableList<E> extends Iterable<E> { | ||
Line 9: | Line 12: | ||
==Iterable== | ==Iterable== | ||
− | + | [https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html interface java.lang.Iterable<T>] | |
− | + | #[https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html#iterator-- Iterator<T> iterator()] | |
==Iterator== | ==Iterator== | ||
− | + | [https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html interface java.util.Iterator<T>] | |
− | + | #[https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html#hasNext-- boolean hasNext()] | |
− | + | #[https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html#next-- T next()] | |
=Code To Implement= | =Code To Implement= |
Revision as of 16:34, 24 April 2020
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>
Code To Implement
DefaultImmutableList
class: | DefaultImmutableList.java | |
methods: | iterator | |
package: | immutable.list.assignment | |
source folder: | src/main/java |
iterator
public Iterator<E> iterator()
Example
class: | ListsExample.java | |
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 | |
package: | immutable.list.assignment | |
source folder: | src/test/java |