Java中单向链表
时间: 2023-06-28 22:06:06 浏览: 121
在Java中,单向链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。单向链表的特点是只能从头节点开始遍历到尾节点,不能反向遍历。
下面是一个简单的Java实现单向链表的例子:
```java
public class Node {
int data; // 节点数据
Node next; // 指向下一个节点的指针
public Node(int data) {
this.data = data;
this.next = null;
}
}
public class LinkedList {
Node head; // 链表头节点
public LinkedList() {
this.head = null;
}
// 在链表尾部添加节点
public void add(int data) {
Node newNode = new Node(data);
if (head == null) {
head = newNode;
} else {
Node current = head;
while (current.next != null) {
current = current.next;
}
current.next = newNode;
}
}
// 在链表中查找某个节点是否存在
public boolean contains(int data) {
Node current = head;
while (current != null) {
if (current.data == data) {
return true;
}
current = current.next;
}
return false;
}
// 删除链表中第一个出现的指定节点
public void remove(int data) {
if (head == null) {
return;
}
if (head.data == data) {
head = head.next;
return;
}
Node current = head;
while (current.next != null) {
if (current.next.data == data) {
current.next = current.next.next;
return;
}
current = current.next;
}
}
// 获取链表中的节点数
public int size() {
int count = 0;
Node current = head;
while (current != null) {
count++;
current = current.next;
}
return count;
}
}
```
在上面的代码中,Node类表示链表节点,LinkedList类表示单向链表。它包含了添加、查找、删除和获取节点数等常见操作。你可以根据自己的实际需求来对链表进行操作。
阅读全文