A linked-list of elements. The list is composed of two-elements arrays that are chained together. It is optimized so that adding or removing an element does not imply copying the whole array content every time.

Constructor

new ()

Creates a new empty list.

Fields

read only length:Int

The length of this List.

Methods

add (item:T):Void

Adds element item at the end of this List.

this.length increases by 1.

clear ():Void

Empties this List.

This function does not traverse the elements, but simply sets the internal references to null and this.length to 0.

filter (f:T ‑> Bool):List<T>

Returns a list filtered with f. The returned list will contain all elements for which f(x) == true.

first ():Null<T>

Returns the first element of this List, or null if no elements exist.

This function does not modify this List.

isEmpty ():Bool

Tells if this List is empty.

iterator ():ListIterator<T>

Returns an iterator on the elements of the list.

join (sep:String):String

Returns a string representation of this List, with sep separating each element.

last ():Null<T>

Returns the last element of this List, or null if no elements exist.

This function does not modify this List.

map<X> (f:T ‑> X):List<X>

Returns a new list where all elements have been converted by the function f.

pop ():Null<T>

Returns the first element of this List, or null if no elements exist.

The element is removed from this List.

push (item:T):Void

Adds element item at the beginning of this List.

this.length increases by 1.

remove (v:T):Bool

Removes the first occurence of v in this List.

If v is found by checking standard equality, it is removed from this List and the function returns true.

Otherwise, false is returned.

toString ():String

Returns a string representation of this List.

The result is enclosed in { } with the individual elements being separated by a comma.