オブジェクトをつなぐメソッド

オブジェクトを沢山つなげることができました。

うまい方法を使うと、新しいオブジェクトを先頭に追加する方が楽にできます。

例１

変数aが、いくつかつながったオブジェクトを参照しており、 変数tempが１つのオブジェクトを参照している場合です。

赤矢印でしめしたようにつなぎ変えることで、１つのオブジェクトを追加できます。

この処理はこのように書けます。

temp.next = a;a = temp;

例２

赤矢印でしめした位置に追加する場合。

追加したい位置の直前にあるオブジェクトを参照できなければなりません。

変数pがその位置を指しているとします。

pが指しているオブジェクトの直後に、 tempが示している１つのオブジェクトを追加する処理はこのように書けます。

temp.next = p.next;p.next = temp;

例３

例２の処理はchainが沢山つながった途中をpが指している場合でも正しく動作します。

オブジェクトをつなぐメソッド

例２、例３と同じ処理をするメソッドを作ります。

このような形で呼び出されるものとします。

public static void main( String[] args)
{
Chain a;
...
a. add( new Chain());
...
}

Chain型の引数を１つとるので、メソッドはこのような形になります。

void add( Chain c)
{
}

mainメソッドから上のように呼び出された場合は

aの値がthisに

引数の値がcに

対応付けられて本体が実行されるので、図に示すような処理を記述すればよい。