クラス BmsArray
- Object
-
- AbstractCollection<E>
-
- AbstractList<Integer>
-
- BmsArray
-
public final class BmsArray extends AbstractList<Integer>
0(00)~255(FF)の16進整数値、0(00)~1295(ZZ)の36進整数値、0(00)~3843(zz)の62進整数値の配列を表現するクラスです。当クラスでは、オブジェクト生成時に配列を表現した文字列、およびその文字列が表す基数を入力し、 文字列の解析結果を整数の配列データに変換します。その後は配列に対して変更を加えることはできません。
また、配列データを外部データ出力されたBMS上での文字列に変換する機能も有しています。以下に変換例を示します。
16進数の場合:"004A007800FFC9"
36進数の場合:"GH00ZAZ60000AFPIZZ"
62進数の場合:"A8006x00zC00QPyt"
-
-
フィールドの概要
-
クラスから継承されたフィールド AbstractList
modCount
-
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 boolean
equals(Object obj)
配列の内容が一致しているかを判定します。Integer
get(int index)
int
getBase()
入力元データの基数を返します。int
getValue(int index)
整数値配列から指定された位置の数値を取得します。int
size()
String
toString()
配列の内容を文字列に変換します。-
クラスから継承されたメソッド AbstractList
add, add, addAll, clear, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
-
クラスから継承されたメソッド AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray
-
インタフェースから継承されたメソッド Collection
parallelStream, removeIf, stream, toArray
-
インタフェースから継承されたメソッド List
addAll, contains, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, sort, spliterator, toArray, toArray
-
-
-
-
コンストラクタの詳細
-
BmsArray
public BmsArray(int base)
指定された基数の空の配列を生成します。- パラメータ:
base
- 入力元データの基数(16, 36, 62のいずれかのみサポートしています)- 例外:
IllegalArgumentException
- radixが16, 36, 62以外
-
BmsArray
public BmsArray(String src, int base)
指定された基数で入力元データを解析し、配列を生成します。基数に16を指定した場合、認識可能な文字は0~9,a~f,A~F、36, 62の場合は0~9,a~z,A~Zとなり、 いずれの場合も2文字1セットの整数値となります。従って、1つの要素で表現可能な値の範囲は 基数16で0~255、基数36で0~1295、基数62で0~3843です。
入力元データの空白文字など、認識不可能な文字をトリミングする機能はありません。 それらの文字は予め除去したうえでこのコンストラクタを呼び出してください。
入力元データの文字数が奇数の場合、最後の文字が"0"である場合に限り、最後の要素を"00"と見なして解析します。 このケースは構文エラーに対する特別な救済措置であり、本来であればエラーとして処理されるべき内容です。 救済措置は通常では不要なデータ編集などの余分な処理が行われパフォーマンスが低下しますので、 構文誤りのデータを入力しないよう注意してください。
- パラメータ:
src
- 入力元データbase
- 入力元データの基数(16, 36, 62のみサポートしています)- 例外:
NullPointerException
- srcがnullIllegalArgumentException
- srcの文字数が2で割り切れず、最後の文字が"0"ではないIllegalArgumentException
- srcに解析不可能な文字が含まれるIllegalArgumentException
- radixが16, 36, 62以外
-
BmsArray
public BmsArray(BmsArray array)
指定された配列と同等の配列を生成します。新しく生成された配列オブジェクトは、入力元配列と同じ基数、要素数、データ内容を返すようになります。
- パラメータ:
array
- 入力元配列- 例外:
NullPointerException
- arrayがnull
-
-
メソッドの詳細
-
toString
public String toString()
配列の内容を文字列に変換します。文字列の内容は、配列生成時に指定された入力元データ、および基数に従って変換されますが、 入力元データの内容に関わらずアルファベットは全て大文字で表現されます。
- オーバーライド:
toString
クラス内AbstractCollection<Integer>
- 戻り値:
- 文字列に変換された配列
-
equals
public boolean equals(Object obj)
配列の内容が一致しているかを判定します。配列の基数、および内容が完全に一致している場合のみ「一致」と判定します。ただし、入力元文字列の アルファベット文字の大小は判定に影響しません。
- 定義:
equals
インタフェース内Collection<Integer>
- 定義:
equals
インタフェース内List<Integer>
- オーバーライド:
equals
クラス内AbstractList<Integer>
- パラメータ:
obj
- 比較対象配列- 戻り値:
- 配列の内容が一致している場合はtrue
-
get
public Integer get(int index)
- 定義:
get
インタフェース内List<Integer>
- 定義:
get
クラス内AbstractList<Integer>
- 関連項目:
AbstractList.get(int)
-
getValue
public final int getValue(int index)
整数値配列から指定された位置の数値を取得します。get(int)
とは異なり、プリミティブ型として値を取得します。- パラメータ:
index
- インデックス- 戻り値:
- 指定された位置の数値
- 例外:
IndexOutOfBoundsException
- インデックスが0未満または配列の要素数以上
-
size
public int size()
- 定義:
size
インタフェース内Collection<Integer>
- 定義:
size
インタフェース内List<Integer>
- 定義:
size
クラス内AbstractCollection<Integer>
- 関連項目:
AbstractCollection.size()
-
getBase
public int getBase()
入力元データの基数を返します。- 戻り値:
- 基数
-
-