java完成自定义链表结构 1.添加数据 2.删除数据 3.修改数据 4.获得数据个数 5.通过索引获得数据 6.查询链表数据是否存在
时间: 2024-02-28 11:55:03 浏览: 59
数据结构单链表的创建,插入,修改,查找以及删除
5星 · 资源好评率100%
好的,我来为您介绍如何用 Java 实现自定义链表结构,实现添加、删除、修改、获取数据个数、通过索引获取数据和查询链表数据是否存在等操作。
首先我们需要定义一个链表节点类,包含数据和指向下一个节点的指针:
```java
class Node<T> {
T data;
Node<T> next;
public Node(T data) {
this.data = data;
this.next = null;
}
}
```
然后我们定义链表类,包含链表头节点和链表长度:
```java
public class LinkedList<T> {
private Node<T> head;
private int size;
public LinkedList() {
this.head = null;
this.size = 0;
}
}
```
接下来我们实现添加数据的方法 add:
```java
public void add(T data) {
Node<T> newNode = new Node<>(data);
if (head == null) {
head = newNode;
} else {
Node<T> curNode = head;
while (curNode.next != null) {
curNode = curNode.next;
}
curNode.next = newNode;
}
size++;
}
```
删除数据的方法 remove:
```java
public void remove(T data) {
if (head == null) {
return;
}
if (head.data.equals(data)) {
head = head.next;
size--;
return;
}
Node<T> curNode = head;
while (curNode.next != null) {
if (curNode.next.data.equals(data)) {
curNode.next = curNode.next.next;
size--;
return;
}
curNode = curNode.next;
}
}
```
修改数据的方法 set:
```java
public void set(int index, T data) {
if (index < 0 || index >= size) {
return;
}
Node<T> curNode = head;
for (int i = 0; i < index; i++) {
curNode = curNode.next;
}
curNode.data = data;
}
```
获取数据个数的方法 getSize:
```java
public int getSize() {
return size;
}
```
通过索引获取数据的方法 get:
```java
public T get(int index) {
if (index < 0 || index >= size) {
return null;
}
Node<T> curNode = head;
for (int i = 0; i < index; i++) {
curNode = curNode.next;
}
return curNode.data;
}
```
查询链表数据是否存在的方法 contains:
```java
public boolean contains(T data) {
Node<T> curNode = head;
while (curNode != null) {
if (curNode.data.equals(data)) {
return true;
}
curNode = curNode.next;
}
return false;
}
```
好的,以上就是用 Java 实现自定义链表结构的代码,包括添加、删除、修改、获取数据个数、通过索引获取数据和查询链表数据是否存在等操作。
阅读全文