2016-04-23 20 views
0

私は割り当てがあり、リストとジェネリックのコンセプトについてはかなり混乱しています。なぜ私たちのコーディングの割り当てのテンプレートにジェネリック "プライベートItem [] items;の配列であると思われるものが含まれているのか理解できません。ジェネリックスが配列でうまく動作しない場合私は、ArrListを処理するためにリストインターフェイス上で定義されているすべてのメソッドを作成する必要があります。Javaのカスタム配列リストに要素を挿入する方法

public class ArrList<T> implements ListInterface<T>{ 

    private int maxSize=10; 
    private myObj<T>[] objects; 
    private int count; 

    ArrList(){ 
    objects = new myObj<T>[maxSize];//I did this 
    count = 0; 
} 

IがmaxSizeの空でない要素よりも少ない配列に要素を挿入し、それらの要素をシフトさで苦労しています方法。 Like: 1 2 3 4 5 _ _ _ _ _ 8を位置2に挿入すると、次のような結果が得られます。 1 2 8 3 4 5 _ _ _ _アイテムの配列を元のオブジェクト配列と同じ位置の前の同じ要素ですが、配列の残りの部分がシフトされてからオブジェクト配列にコピーされます(voidメソッドでなければなりません)。しかし、私は元の配列を変更するだけでこれを行う方法を知らない。前もって感謝します。

答えて

0

forループの基本は、この処理することができます:それはあなたがしたいのインデックスに達するまで

for (int i = count; i > insert; i--) 
    objects[i] = objects[i - 1]; 

objects[insert] = newValue; 

これは、配列の終わりから始まり、右に項目を引っ張る、一つずつ挿入する。これを実行した後、他のエントリを失うことなく、配列に値を書き込むことができます。

ジェネリックについて - Javaでジェネリック型の配列を作成することはできませんが、うまくいきません。 1つの方法は、すべてをObject[]型の配列に格納し、戻り値を適切な型にキャストすることです。

関連する問題