链表java实现方法是什么
导读:在Java中,链表的实现通常是通过创建一个节点类(Node)和一个链表类(LinkedList)。节点类包含一个数据域和一个指向下一个节点的引用。链表类包含一个头节点引用,用于存储链表的第一个元素。以下是一个简单的单向链表实现: 首先,创...
在Java中,链表的实现通常是通过创建一个节点类(Node)和一个链表类(LinkedList)。节点类包含一个数据域和一个指向下一个节点的引用。链表类包含一个头节点引用,用于存储链表的第一个元素。以下是一个简单的单向链表实现:
- 首先,创建一个节点类(Node):
public class Node<
T>
{
private T data;
private Node<
T>
next;
public Node(T data) {
this.data = data;
this.next = null;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public Node<
T>
getNext() {
return next;
}
public void setNext(Node<
T>
next) {
this.next = next;
}
}
- 然后,创建一个链表类(LinkedList):
public class LinkedList<
T>
{
private Node<
T>
head;
public LinkedList() {
this.head = null;
}
// 添加元素到链表头部
public void addFirst(T data) {
Node<
T>
newNode = new Node<
>
(data);
newNode.setNext(head);
head = newNode;
}
// 添加元素到链表尾部
public void addLast(T data) {
Node<
T>
newNode = new Node<
>
(data);
if (head == null) {
head = newNode;
}
else {
Node<
T>
current = head;
while (current.getNext() != null) {
current = current.getNext();
}
current.setNext(newNode);
}
}
// 从链表中删除第一个元素
public T removeFirst() {
if (head == null) {
throw new IllegalStateException("List is empty");
}
T data = head.getData();
head = head.getNext();
return data;
}
// 遍历链表并打印元素
public void traverse() {
Node<
T>
current = head;
while (current != null) {
System.out.print(current.getData() + " ->
");
current = current.getNext();
}
System.out.println("null");
}
}
现在你可以创建一个链表对象并使用这些方法来操作它:
public class Main {
public static void main(String[] args) {
LinkedList<
Integer>
list = new LinkedList<
>
();
list.addFirst(1);
list.addLast(2);
list.addFirst(0);
list.traverse();
// 输出: 0 ->
1 ->
2 ->
null
System.out.println(list.removeFirst());
// 输出: 0
list.traverse();
// 输出: 1 ->
2 ->
null
}
}
这个实现仅包含单向链表的基本操作。你可以根据需要扩展这个实现,例如添加双向链表支持、链表反转等。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 链表java实现方法是什么
本文地址: https://pptw.com/jishu/711230.html