UiPath Queueコレクションの機能と使い方
Queue(キュー)はコレクションの一種です。
先入れ先出し(FIFO、"First In, First Out")構造で要素を管理します。
この記事では、その機能と使い方を紹介します。
(要素の追加、アクセス、削除、全削除、有無確認)
機能と使い方
※赤字は任意の変数名などの可変の箇所です。
言語にVBを選んでいます。
キューのデータ構造
キューには三つの操作で要素の集まりを管理します。
動作 | メソッド |
---|---|
末尾にデータを入れる | Enqueue |
先頭のデータを取り出す(取り出したデータを削除) | Dequeue |
先頭のデータを読み取る(データの削除なし) | Peek |
データを貯めていき、古い物から出していくデータ構造です。
例としてこのような動作をします。
1をEnqueue。
データ | Peekの対象 |
---|---|
1 | ● |
2をEnqueue。
データ | Peekの対象 |
---|---|
1 | |
2 | ● |
3をEnqueue。
データ | Peekの対象 |
---|---|
1 | |
2 | |
3 | ● |
Dequeue。
データ | Peekの対象 |
---|---|
2 | |
3 | ● |
変数の宣言
Queueは初期状態では変数の型に存在しないため、
型の参照が検索する必要があります。
System.Collections.Generic.Queueで検索し、
値のデータ型を指定します。
今回はStringを値に設定します。
そして既定値に下記のように指定します。
new Queue(of 値のデータ型)
今回の例ではこのように指定します。
new Queue(of String)
これで変数の準備が完了です。
末尾にデータを入れる(Enqueue)
メソッドを呼び出しで行います。
プロパティをこのように設定します。
プロパティ | 設定値 |
---|---|
ターゲットオブジェクト | Queue変数 |
メソッド名 | Enqueue |
パラメーター | 追加する値 |
まずターゲットオブジェクトにQueue変数を指定し、
メソッド名にEnqueueを指定します。
そしてパラメーターに追加する値を指定します。
先頭のデータを取り出す(Dequeue)
メソッドを呼び出しで行います。
プロパティをこのように設定します。
プロパティ | 設定値 |
---|---|
ターゲットオブジェクト | Queue変数 |
メソッド名 | Dequeue |
結果 | 取り出した結果を格納する変数 |
結果に指定する変数はキュー変数の要素の型と合わせる必要があります。
先頭のデータを読み取る(Peek)
メソッドを呼び出しで行います。
プロパティをこのように設定します。
プロパティ | 設定値 |
---|---|
ターゲットオブジェクト | Queue変数 |
メソッド名 | Peek |
結果 | 取り出した結果を格納する変数 |
結果に指定する変数はキュー変数の要素の型と合わせる必要があります。
要素へのアクセス
全要素にアクセスすることも可能です。
下記のプロパティ設定を行います。
プロパティ | 設定値 |
---|---|
TypeArgument | 値のデータ型 |
コレクション | Queue変数 |
Queue変数の要素の格納されている数、繰り返され
itemに要素の内容が格納されます。
要素の有無確認
メソッドを呼び出しで行います。
プロパティをこのように設定します。
プロパティ | 設定値 |
---|---|
ターゲットオブジェクト | Queue変数 |
メソッド名 | Contains |
パラメーター | 検索する値 |
結果 | 結果を格納するBoolean型変数 ・存在する場合…True ・存在しない場合…False |
まずターゲットオブジェクトにQueue変数を指定し、
メソッド名にContainsを指定します。
そしてパラメーターに有無確認をする値を指定します。
要素の全削除
メソッドを呼び出しで行います。
プロパティをこのように設定します。
プロパティ | 設定値 |
---|---|
ターゲットオブジェクト | Queue変数 |
メソッド名 | Clear |
このアクティビティを実行すると
Queue変数の全要素が削除されます。