List (Arraylist function): Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
m (1 revision)
Line 1: Line 1:
{{Template:Arraylist:List subtitle}}
{{Template:Arraylist:List subtitle}}
[[Category:Arraylist methods|List function]]
[[Category:Arraylist methods|List function]]
<!--DPL?? Category:Arraylist methods|<var>List</var> function: Construct and populate a new Arraylist-->
<!--DPL?? Category:<var>Arraylist</var> methods|<var>List</var> function: Construct and populate a new <var>Arraylist</var>-->
<p>
<p>
<var>List</var> is a member of the [[Arraylist class]].
<var>List</var> is a member of the [[Arraylist class]].
Line 7: Line 7:


This shared function is a virtual constructor,
This shared function is a virtual constructor,
or factory method, for Arraylists.
or factory method, for <var>Arraylist</var>s.
The <var>List</var> method invokes the creation of a new Arraylist
The <var>List</var> method invokes the creation of a new <var>Arraylist</var>
instance, then populates that instance with items that are, respectively,
instance, then populates that instance with items that are, respectively,
the values of the method arguments.
the values of the method arguments.
Line 17: Line 17:
===Syntax terms===
===Syntax terms===
<table class="syntaxTable">
<table class="syntaxTable">
<tr><th><i>%arrayl</i></th>
<tr><th><i><var class="term">al</var></i></th>
<td>A declared or existing Arraylist object. </td></tr>
<td>A declared or existing <var>Arraylist</var> object. </td></tr>
<tr><th><i>itemlist</i></th>
<tr><th><i>itemlist</i></th>
<td>A comma-delimited set of values or variables of the same type as specified on the ''%arrayl'' declaration. Each of these, from left to right, becomes an item in the resultant new Arraylist, ''%arrayl''.</td></tr>
<td>A comma-delimited set of values or variables of the same type as specified on the ''<var class="term">al</var>'' declaration. Each of these, from left to right, becomes an item in the resultant new <var>Arraylist</var>, ''<var class="term">al</var>''.</td></tr>
</table>
</table>
==Usage notes==
==Usage notes==
Line 30: Line 30:
even if that object is null:
even if that object is null:
<pre style="xmp">
<pre style="xmp">
     %arrayl = <var>List</var>(&'italic(itemlist))
     <var class="term">al</var> = <var>List</var>(&'italic(itemlist))
     %arrayl = %(Arraylist):<var>List</var>(&'italic(itemlist))
     <var class="term">al</var> = %(<var>Arraylist</var>):<var>List</var>(&'italic(itemlist))
     %arrayl = %arrayl:<var>List</var>(&'italic(itemlist))
     <var class="term">al</var> = <var class="term">al</var>:<var>List</var>(&'italic(itemlist))
</pre>
</pre>
:note
:note
Line 39: Line 39:
specified exactly as they are on the collection variable's declaration:
specified exactly as they are on the collection variable's declaration:
<pre style="xmp">
<pre style="xmp">
     %arrayl is collection Arraylist of longstring
     <var class="term">al</var> is collection <var>Arraylist</var> of longstring
     %arrayl = %(Arraylist of longstring):<var>List</var>(&'italic(itemlist))
     <var class="term">al</var> = %(<var>Arraylist</var> of longstring):<var>List</var>(&'italic(itemlist))
</pre>
</pre>
<li>You can also use the <var>List</var> method in contexts where an Arraylist object
<li>You can also use the <var>List</var> method in contexts where an <var>Arraylist</var> object
is a method parameter.
is a method parameter.
</ul>
</ul>
==Examples==
==Examples==
<ul>
<ul>
<li>The following <var>List</var> method call creates a new Arraylist instance
<li>The following <var>List</var> method call creates a new <var>Arraylist</var> instance
of 11 integer items that begins with 1 and whose subsequent items are,
of 11 integer items that begins with 1 and whose subsequent items are,
respectively, the sum of the preceding two integers:
respectively, the sum of the preceding two integers:
Line 54: Line 54:
     %fib = list(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89)
     %fib = list(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89)
</pre>
</pre>
<li>The following <var>List</var> call creates a new Arraylist instance whose
<li>The following <var>List</var> call creates a new <var>Arraylist</var> instance whose
items are objects of user class Freight:
items are objects of user class Freight:
<pre style="xmp">
<pre style="xmp">

Revision as of 02:29, 20 January 2011

Construct and populate a new Arraylist (Arraylist class)

List is a member of the Arraylist class.

This shared function is a virtual constructor, or factory method, for Arraylists. The List method invokes the creation of a new Arraylist instance, then populates that instance with items that are, respectively, the values of the method arguments.

List is available in Sirius Mods version 7.3 and later.

Syntax

%newList = [%(Arraylist Of itemType):]List( itemList)

Syntax terms

al A declared or existing Arraylist object.
itemlist A comma-delimited set of values or variables of the same type as specified on the al declaration. Each of these, from left to right, becomes an item in the resultant new Arraylist, al.

Usage notes

  • For more information about factory methods, see ?? refid=vconst..
  • The maximum number of itemlist values is 62.
  • List is a constructor and as such can be called with no method object, with an explicit class name, or with an object variable, even if that object is null:
        <var class="term">al</var> = <var>List</var>(&'italic(itemlist))
        <var class="term">al</var> = %(<var>Arraylist</var>):<var>List</var>(&'italic(itemlist))
        <var class="term">al</var> = <var class="term">al</var>:<var>List</var>(&'italic(itemlist))
    
    note

    If using the second of these syntax options, which explicitly indicates the class, both the collection and item datatypes must be specified exactly as they are on the collection variable's declaration:

        <var class="term">al</var>  is collection <var>Arraylist</var> of longstring
        <var class="term">al</var>  = %(<var>Arraylist</var> of longstring):<var>List</var>(&'italic(itemlist))
    
  • You can also use the List method in contexts where an Arraylist object is a method parameter.

Examples

  • The following List method call creates a new Arraylist instance of 11 integer items that begins with 1 and whose subsequent items are, respectively, the sum of the preceding two integers:
        %fib    is collection arraylist of float
        %fib = list(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89)
    
  • The following List call creates a new Arraylist instance whose items are objects of user class Freight:
        class freight
          public
             variable a is float
             variable b is float
             constructor newf(%a is float, %b is float)
          end public
           ...
        end class
           ...
        %ark is arraylist of object freight
        %ark = list(newf(11, 14), newf(4, 6), newf(9, 77),   -
                    newf(-7, 1234))