You are here

List Creation

15 January, 2016 - 09:03
Available under Creative Commons-ShareAlike 4.0 International License. Download for free at

Now that we have defined what a list is, we ask ourselves how we can process it? What can we do with a list? The above code makes it clear that there is not a whole lot we can do with a list besides instantiating a bunch of MTList objects via the call new MTList() (why?). Now that we are using the full Java language, we need to write a constructor for NEList in order to instantiate non-empty list objects with appropriate first and rest. The Java code for NEList now looks as follows (note how the comments are written).

* Represents non-empty lists. 
public class NEList implements IList { 
    private Object _first; 
    private IList _rest; 
    * Initializes this NEList to a given first and a given rest. 
    * @param f the first element of this NEList. 
    * @param r the rest of this NEList. 
    public NEList(Object f, IList r) {
       _first = f;
       _rest = r; 

The list structure as coded in the above is completely encapsulated, that is, all internal components (if any) of a list are private and cannot be accessed by any external code. Using the appropriate constructors, we can make a bunch of lists to store data but we cannot retrieve data nor do anything with these lists. In Object-Oriented Programming (OOP) parlance, the list is said to have no behavior at all. As such they are of no use to us.