Difference between revisions of "Iterable Immutable List Assignment"

From CSE425S Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
=Code To Implement=
 
=Code To Implement=
 +
==DefaultImmutableList==
 +
{{JavaToImplement|DefaultImmutableList|head<br>tail<br>isEmpty<br>iterator|immutable.list.assignment}}
 +
===default constructor===
 +
===head and tail constructor===
 +
===head===
 +
===tail===
 +
===isEmpty===
 +
===iterator===
 +
 
==Lists==
 
==Lists==
 
{{JavaToImplement|Lists|nil<br>cons<br>brackets|immutable.list.assignment}}
 
{{JavaToImplement|Lists|nil<br>cons<br>brackets|immutable.list.assignment}}
Line 14: Line 23:
 
  <nowiki>@SafeVarargs
 
  <nowiki>@SafeVarargs
 
public static <E> ImmutableList<E> brackets(E... elements)</nowiki>
 
public static <E> ImmutableList<E> brackets(E... elements)</nowiki>
 
==DefaultImmutableList==
 
{{JavaToImplement|DefaultImmutableList|head<br>tail<br>isEmpty<br>iterator|immutable.list.assignment}}
 
===default constructor===
 
===head and tail constructor===
 
===head===
 
===tail===
 
===isEmpty===
 
===iterator===
 
  
 
=Test=
 
=Test=
 
{{TestSuite|ListsTestSuite|immutable.list.assignment}}
 
{{TestSuite|ListsTestSuite|immutable.list.assignment}}

Revision as of 17:24, 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

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