ArrayList クラスをカスタマイズするときは、多くの点を事前に考慮する必要があります
1. ArrayList は親インターフェイス List を継承する必要があります
2 、親インターフェイスのメソッドを書き換える必要があります
3. 使用する必要があるプロパティとメソッド: データを格納する配列 elementData データのデータ型が決まっていないため、配列のデータ型はここでは Object として定義されており、配列内の要素の数を記録するにはメンバー変数 count が必要です。
4. パラメーターなしのコンストラクターとパラメーター化されたコンストラクターを提供します
5. 必要に応じてメソッドの内容を変更します
そこでは 2 つのメソッドです。1 つは仮パラメータを 1 つだけ持つメソッド、もう 1 つは 2 つの仮パラメータを持つメソッドです。
仮パラメータが 1 つだけある add メソッド
このメソッドは、追加の役割を果たします。 、渡された要素をすでに定義された配列に追加します
@Override public boolean add(Object o) { // 将传入的数据o放入数组中,该count是指代元素的个数 elementData[count] = o; // 添加完成后需要将count加1 count++; return true; }
仮パラメータを持つ 2 つの add メソッドがあります
このメソッドの最初のパラメータを挿入する必要があります。 isEmpty メソッド
このメソッドはカウントを判定するだけでよく、カウントが 0 の場合は配列が空であることを意味します
@Override public void add(int index, Object element) { // todo 在指定位置插入元素 for (int i = count; i >index; i--) { elementData[i]=elementData[i-1]; } elementData[index]=element; }5 . 構築メソッド構築メソッドで配列を初期化し、配列の長さを定義
@Override public int size() { return count; }6. ArrayList全体のコード
@Override public boolean isEmpty() { return count==0; }
リーリー
以上がJava でカスタム ArrayList クラスを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。