System.Collections.ArrayList
Dynamic collection class with 0-based indexing
|
WSupported on Windows
|
USupported on Unix
|
VSupported on OpenVMS
|
NSupported in Synergy .NET
|
namespace System.Collections public class ArrayList
The System.Collections.ArrayList class is a dynamic collection class with 0-based indexing (which means the index of the first element is 0). See “Variable references” in the Basic language elements topic for more information about array references.
public ArrayList()
Initializes a new instance of ArrayList with a default capacity of 16 elements.
or
public ArrayList(capacity)
Initializes a new instance of ArrayList with the specified initial capacity (int), which is the number of elements the new array list can store.
public virtual Capacity
Returns or sets the number of elements that the array list can contain. (int)
public virtual Count
Returns the number of elements that are actually in the array list. (int)
public virtual Indexer(index)
Returns the element in the array that is located at the index (0-based, int). (@*)
public virtual Add(object), int
Adds the specified element to the end of an array list and returns the array list index at which object has been added. Object can be null. (@*)
public virtual Clear(), void
Removes all elements from the array list. Sets count to zero and releases references to other objects.
public virtual Clone(), @Object
Returns a new array list that is a shallow copy of objects in the current array list. A shallow copy includes only the elements in the array list (not the objects that any references refer to).
IndexOf() determines equality by calling the Equals() method of the ArrayList element type.
public virtual IndexOf(object), int
Returns the first 0-based index position for the specified object in the entire array list. Object can be null. (@*)
or
public virtual IndexOf(object, startindex), int
Returns the first 0-based index position for the specified object (@*) within the range of elements between startindex (int) and the last element. Object can be null.
or
public virtual IndexOf(object, startindex, count), int
Returns the first 0-based index position for the specified object (@*) within the range of elements starting at startindex (int) and continuing for the number of elements specified in count (int).
public virtual Insert(index, object), void
Inserts an element (@*) into the array list at the specified 0-based index (int). Object can be null.
LastIndexOf() determines equality by calling the Equals() method of the ArrayList element type.
public virtual LastIndexOf(object), int
Returns the last 0-based index position for the specified object (@*) in the entire array list. Object can be null.
or
public virtual LastIndexOf(object, startindex), int
Returns the last 0-based index position for the specified object (@*) within the range of elements between the first element and startindex (int). Object can be null.
or
public virtual LastIndexOf(object, startindex, count), int
Returns the last 0-based index position for the specified object within the range that contains count elements (int) and ends at startindex (int). In other words, it counts backwards from startindex for the number of elements specified in count. Object can be null. (@*)
public virtual RemoveAt(index), void
Removes the element at the specified 0-based index (int). The elements that follow are moved up to occupy the vacant spot.
Examples
import System.Collections
structure syntxtrec
recdata ,a218
endstructure
main
proc
begin
;Declare variable as ArrayList
data al ,@ArrayList
data fchn ,int
data ttchn ,int
data counter ,int
data numrecs ,int
;Structfield based on structure syntxtrec
data sf ,syntxtrec
;Object type of structfield
data sfO ,@syntxtrec
open(fchn =%syn_freechn, I:I, "DBLDIR:syntxt.ism")
open(ttchn=%syn_freechn, O, "TT:")
;Get the number of records in the syntxt ISAM file
numrecs = %isinfo(fchn, "NUMRECS")
;Create arraylist with capacity of number of records in syntxt
al = new arraylist(numrecs)
;Populate the ArrayList with records from the syntxt ISAM file
for counter from 0 thru numrecs - 1
begin
reads(fchn, sf, eof)
;Must cast as structfield object to add structfield to arraylist
;as ArrayList may only contain objects
al.Add((@syntxtrec)sf)
end
eof,
foreach sfO in al ;Must use object type to iterate through ArrayList in foreach loop
begin
writes(ttchn, %atrim(sfO)) ;Write out value
end
;Clean up
al = ^NULL
close fchn, ttchn
end
endmain
