/* リストへの追加 */ class Cell { int data; // このセルが保持するデータ Cell next; // 次のセルへの参照 } class Foo { public static void main (String[] args) { Cell c1 = new Cell(); // Cellオブジェクトを生成 c1.data = 111; // フィールドdataに111を代入 c1.next = null; // フィールドnextにnullを代入 Cell c2 = new Cell(); c2.data = 222; c2.next = c1; // c2の次をc1とする Cell c3 = new Cell(); c3.data = 333; c3.next = c2; // c3の次をc2とする /* ここまでは例題2.8.4と同じ */ /* 例題2.8.4の状態から,新たなセルc4をc2のあとに追加する.*/ Cell c4 = new Cell(); c4.data = 444; c4.next = c2.next; // c2の次をc4の次とする // c4.next = c1; でも同じ c2.next = c4; // c4をc2の次とする for (Cell p=c3; p!=null; p=p.next) { System.out.println(p.data); } } }