Difference between revisions of "Iterable Immutable List Assignment"

From CSE425S Wiki
Jump to navigation Jump to search
Line 12: Line 12:
 
<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.
 
<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.  
+
The first two static methods <code>nil</code> and <code>cons</code> will each call a constructor of the <code>DefaultImmutableList]] class.  The third method <code>brackets</code> will use <code>nil</code> and <code>cons</code> 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}}

Revision as of 18:40, 30 July 2019

Code To Implement

DefaultImmutableList

class: DefaultImmutableList.java Java.png
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 Java.png
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 Junit.png
package: immutable.list.assignment
source folder: src/test/java