class LoopNode { // 节点内容 private int data; // 下一个节点 private LoopNode next; public LoopNode(int value) { this.data = value; // 将该节点的下一个节点指向自己 this.next = this; } // 获取下一个节点 public LoopNode next() { return this.next; } // 获取节点中的数据 public int getData() { return this.data; } // 删除下一个节点 public void removeNext() { // 先取出下下一个节点 LoopNode nextNextNode = next.next; // 把下下一个节点设置为当前节点的下一个节点 this.next = nextNextNode; } // 对于循环链表来说,单链表的插入操作就是添加节点的操作,但添加时每次都要从最后一个节点往后添加 // 插入一个节点作为当前节点的下一个节点 public void insert(LoopNode node) { // 取出下一个节点,作为下下一个节点 LoopNode nextNode = next; // 把新节点作为当前节点的下一个节点 this.next = node; // 把下下一个节点设置为新节点的下一个节点 node.next = nextNode; } } public class Main { public static void main(String[] args) { LoopNode ln1 = new LoopNode(1); LoopNode ln2 = new LoopNode(2); LoopNode ln3 = new LoopNode(3); // 增加节点 ln1.insert(ln2); ln2.insert(ln3); System.out.println(ln1.next().getData()); System.out.println(ln2.next().getData()); System.out.println(ln3.next().getData()); } }