現在地: Visual LANSA 開発者ガイド > 2. グラフィカル・ユーザーインターフェース・アプリケーションの作成 > 2.16 コレクション > 2.16.1 コレクションのタイプ

2.16.1 コレクションのタイプ

コレクションのタイプは、目的によって異なります。以下から選択できます。

コレクション(PRIM_KCOL)

List コレクション(PRIM_LCOL)

Array コレクション(PRIM_ACOL)

Sorted array コレクション(PRIM_SACO)

Set コレクション(PRIM_SCOL)

Dictionary コレクション(PRIM_DCOL)

Sorted dictionary コレクション(PRIM_SDCO)

コレクション(PRIM_KCOL)

コレクション (Keyed collections) では、キー値により識別されるコンポーネントが不規則な順番で並んでいます。キー値は重複できません。コレクションは、リポジトリの任意のフィールドによってキーを付けられます。

Define_Com Class(#prim_kcol<#Prim_Form #Std_num>) Name(#Forms)

キーを保守しなければならないため、コレクションへのアイテムの追加は比較的低速です。しかし、キーを使用してアイテムに直接アクセスするため、コレクションの検索は比較的高速です。

#Form <= #Forms<#std_num>

 

または

#Form <= #Forms<123>

 

FORコマンドを使用してコレクション内を反復することで、アイテムをキーの順に返すことができます。

コレクションは、高速な検索を必要とする比較的少量のデータを使用する場合に最適です。

List コレクション(PRIM_LCOL)

List コレクションは、順序付けされたコンポーネントのコレクションを提供します。Listコンポーネントの機能は、指定されたインデックスまたはリストの始まりや終わりを参照して実際の位置を決めることです。インデックスには、常に1を基準とした値が付けられます。

Define_Com Class(#prim_lcol<#Prim_Form>) Name(#Forms)

 

保守するキーがないため、コレクションへのアイテムの追加は比較的高速です。しかし、リストは本質的に順次処理するため、具体的なインデックスが既知でない限り、コレクションの検索は比較的低速です。最初、最後、特定のインデックスの前後など、アイテムを指定の位置に追加できます。

#Forms.InsertBefore(#Form 5)

 

FORコマンドを使用してコレクション内を反復することで、アイテムを追加した順に返すことができます。

List コレクションは、データを収集し、後でその中を反復する状況に最適です。

Array コレクション(PRIM_ACOL)

Array コレクションは、動的にサイズが変更される、順序付けされたコンポーネントのコレクションを提供します。配列コンポーネントの機能は、指定されたインデックス、またはコレクションの始まりや終わりとの相対的な関係で、本質的に前後関係に依存します。インデックスには、常に1を基準とした値が付けられます。

Define_Com Class(#prim_acol<#Prim_Form>) Name(#Forms)

 

保守するキーがないため、コレクションへのアイテムの追加は比較的高速です。しかし、リストは本質的に順次処理するため、具体的なインデックスが既知でない限り、コレクションの検索は比較的低速です。最初、最後、特定のインデックスの前後など、アイテムを指定の位置に追加できます。

#Forms.InsertFirst(#Form)

 

FORコマンドを使用してコレクション内を反復することで、アイテムを追加した順に返すことができます。

Array コレクションは、データに連続的かつ直接アクセスする状況に最適です。

Sorted array コレクション(PRIM_SACO)

Sorted array コレクションは、動的にサイズが変更される、ソートされたコンポーネントのコレクションを提供します。配列コンポーネントの機能は、指定されたインデックス、またはコレクションの始まりや終わりとの相対的な関係で、本質的に前後関係に依存します。インデックスには、常に1を基準とした値が付けられます。

Define_Com Class(#prim_scol<#Prim_Form>) Name(#Forms)

コレクションをソートするため、コレクションへのアイテムの追加は比較的低速です。コレクションで2つのオブジェクトの順序を付ける必要があるたびに、Compareイベントが起動されます。これによって、必要な任意の順序に基づいて、アイテムのソート順を決定することができます。

リストは本質的にキーを持たないため、具体的なインデックスが既知でない限り、コレクションの検索は比較的低速です。

#Forms.Insert(#Form)

FORコマンドを使用してコレクション内を反復することで、定義したソート順に基づいてアイテムを返すことができます。

Sorted array コレクションは、データに連続的かつ直接アクセスする状況で、開発者がソート順を決定する必要がある場合に最適です。

Set コレクション(PRIM_SCOL)

Set コレクションは、順序のないコンポーネントのコレクションを提供します。Set コレクションには、重複インスタンスを含めることはできません。 

Define_Com Class(#prim_scol<#Prim_Form>) Name(#Forms)

 

保守するキーがないため、コレクションへのアイテムの追加は比較的高速です。しかし、コレクションが本質的にキーを持たないため、コレクションの検索は比較的低速です。

#Forms.Insert(#Form)

 

FORコマンドを使用してコレクション内を反復すると、一見ランダムな順序でアイテムが返されます。

Set コレクションは、大規模なオブジェクトのコレクションを処理して、単一性を保証する場合に最適です。

Dictionary コレクション(PRIM_DCOL)

Dictionary コレクションは、キーと値のコンポーネントのペアを順不同に並べたものです。重複したキーは使用できません。

Define_Com Class(#prim_dcol<#Prim_Form #Prim_objt>) Name(#Forms)

 

キーを保守しなければならないため、コレクションへのアイテムの追加は比較的低速です。しかし、キーを使用してアイテムに直接アクセスするため、コレクションの検索は比較的高速です。 

#Forms.Insert(#Form #Key)

 

FORコマンドを使用してコレクション内を反復することで、アイテムをキーの順に返すことができます。しかし、キーはコンポーネントなので、順序はランダムに見えます。

Dictionary コレクションは、高速な検索を必要とする比較的少量のデータを使用する場合に最適です。

Sorted dictionary コレクション(PRIM_SDCO)

Sorted dictionary コレクションは、キーと値のコンポーネントのペアをソートして並べたものです。重複したキーは使用できません。

Define_Com Class(#prim_sdco<#Prim_Form #Prim_objt>) Name(#Forms)

 

コレクションをソートするため、コレクションへのアイテムの追加は比較的低速です。コレクションで2つのオブジェクトの順序を付ける必要があるたびに、Compareイベントが起動されます。これによって、必要な任意の順序に基づいて、アイテムのソート順序を決定することができます。

#Forms.Insert(#Form #Key)

 

FORコマンドを使用してコレクション内を反復することで、定義したソート順に基づいてアイテムを返すことができます。

Sorted dictionary コレクションは、高速な検索を必要とする比較的少量のデータを使用する場合で、開発者がソート順を決定する必要がある場合に最適です。