Progress.Collections.List<T> class
- Last Updated: February 11, 2026
- 2 minute read
- OpenEdge
- Version 13.0
- Documentation
Represents a strongly-typed list of objects that can be accessed by index. Provides methods to search and manipulate lists.
This class is FINAL and cannot be extended.
Serializable:
Yes
Constructor(s)
|
- initialCapacity
- An INTEGER value that specifies the initial capacity for the list. OpenEdge automatically maintains the size of the list, extending it as elements are added to it. For performance reasons, you may specify an initial capacity, if that is known at the time the list is created, to avoid the cost of constantly expanding the capacity of the list.
The default initial capacity for a list is 10 elements.
Super Class
Interfaces
Public Properties
| Count property (Collections) | IsEmpty property (Collections) |
Public Methods
Example
This example code shows how to create a list, add elements to the list, retrieve elements, replace elements, remove elements, and iterate over the list.
|
Notes
- The
Progress.Collections.List<T>class supports anyProgress.Lang.ObjectorSystem.Objectfrom .NET. - Sequencing of elements in the list is maintained as objects are added, inserted, or removed.
- The Unknown value (
?) may appear any number of times within the list. - Duplicate elements are allowed in the list.
- Elements in the list can be accessed using an INTEGER index. Indexes are one-based.
- Elements in the list that are explicitly deleted, while still in the list, are treated as the Unknown value (?).
Progress.Collections.List<T>does not participate in transactional processing. That is, any changes made to the structure of aListare not backed out if they occur within a transaction that is backed out.- The
Contains(),Remove(), andIndexOf()methods determine equality of based on invokingEquals(). Those methods call theEquals()method on the object in the list, passing the object being tested against. IfEquals()is not overridden by the type supplied as a type argument toList, then the default behavior is to fall back to the built-in implementation (since allProgress Lang.Object’s have anEquals()implementation provided byProgress.Lang.Object). If both the object reference in the collection, and the object being tested are Unknown (?), then the AVM considers the objects equal. - For a
List<T>object to be considered serializable, the concrete type specified in the type argument must also be serializable. That is, forList<Presidents>, the class typePresidentsmust also be serializable, if you want to serialize it or pass the list as a parameter in a remote call.