Difference between revisions of "Iterable Immutable List Assignment"
Jump to navigation
Jump to search
(→Lists) |
|||
Line 10: | Line 10: | ||
==Lists== | ==Lists== | ||
+ | <code>Lists</code> is a class which holds a number of static methods. As we know, in [https://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html the Kingdom of Nouns], Verbs must always have an escort. | ||
+ | |||
+ | The first two static methods <code>nil</code> and <code>cons</code> will each call a constructor of the [[DefaultImmutableList]] class. The third method <code>brackets</code> will use [[nil]] and [[cons]] to build up the desired ImmutableList. | ||
+ | |||
{{JavaToImplement|Lists|nil<br>cons<br>brackets|immutable.list.assignment}} | {{JavaToImplement|Lists|nil<br>cons<br>brackets|immutable.list.assignment}} | ||
===nil=== | ===nil=== |
Revision as of 18:38, 30 July 2019
Contents
Code To Implement
DefaultImmutableList
class: | DefaultImmutableList.java | |
methods: | head tail isEmpty iterator |
|
package: | immutable.list.assignment | |
source folder: | src/main/java |
default constructor
head and tail constructor
head
tail
isEmpty
iterator
Lists
Lists
is a class which holds a number of static methods. As we know, in the Kingdom of Nouns, Verbs must always have an escort.
The first two static methods nil
and cons
will each call a constructor of the DefaultImmutableList class. The third method brackets
will use nil and cons to build up the desired ImmutableList.
class: | Lists.java | |
methods: | nil cons brackets |
|
package: | immutable.list.assignment | |
source folder: | src/main/java |
nil
public static <E> ImmutableList<E> nil()
Analogous to the SML List nil constructor.
Note: often SML programs use empty brackets []
instead of nil
.
cons
public static <E> ImmutableList<E> cons(E head, ImmutableList<E> tail)
brackets
@SafeVarargs public static <E> ImmutableList<E> brackets(E... elements)
Test
class: | ListsTestSuite.java | |
package: | immutable.list.assignment | |
source folder: | src/test/java |