/* リストからの削除 */ 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とする Cell c4 = new Cell(); c4.data = 444; c4.next = c2.next; // c2の次をc4の次とする // c4.next = c1; でも同じ c2.next = c4; // c4をc2の次とする /* ここまでは例題2.8.5と同じ */ /* 例題2.8.5の状態から,c2を削除する.*/ c3.next = c2.next; // c2の次をc3の次とする // c3.next = c4; でも同じ for (Cell p=c3; p!=null; p=p.next) { System.out.println(p.data); } } }