Java でカスタム順序表を作成の方法
順序リストをカスタマイズするには、リストを表すクラスを作成し、その中にリストの操作に適したメソッドを定義することができます。簡単な例を以下に示します。
public class MyArrayList {
private int[] array;
private int size;
public MyArrayList() {
array = new int[10];
size = 0;
}
public void add(int value) {
if (size == array.length) {
expandArray();
}
array[size] = value;
size++;
}
public int get(int index) {
if (index >= 0 && index < size) {
return array[index];
} else {
throw new IndexOutOfBoundsException();
}
}
public void set(int index, int value) {
if (index >= 0 && index < size) {
array[index] = value;
} else {
throw new IndexOutOfBoundsException();
}
}
public int size() {
return size;
}
private void expandArray() {
int[] newArray = new int[array.length * 2];
System.arraycopy(array, 0, newArray, 0, array.length);
array = newArray;
}
}
上記の例では、MyArrayListという名前のクラスを作成しました。このクラスには秘密のinteger型の配列arrayと、リストの大きさを表すinteger型のsizeが格納されています。さらに、リストを操作するためのいくつかのメソッドも定義しました。
- 「add」メソッド:リストに要素を追加するために使用されます。配列がいっぱいになると、「expandArray」メソッドによって配列を元の2倍に拡張します。その後、新しい要素が配列の末尾に追加され、サイズが1つ増加します。
- getメソッド:指定したインデックス位置の要素を取得します。インデックスが範囲外の場合は、IndexOutOfBoundsException例外がスローされます。
- setメソッド:指定したインデックス位置の要素を設定するためのものである。インデックスが範囲外の場合はIndexOutOfBoundsException例外がスローされる。
- sizeメソッド : リストの大きさを取得します。
上記の例はシンプルな実装の一例であり、カスタム順序表の具体的な使い方の説明のみを目的としています。実際のアプリケーションでは、要素の削除、挿入など、他のオペレーションをサポートするための追加メソッドが必要になる可能性があります。