Java 创建有序顺序表,配备创建顺序表、增加、删除、查询、打印等操作。要求,必须用构造函数初始化顺序表、用toString()实现支持直接打印对象
时间: 2024-09-24 12:05:08 浏览: 33
实验1 顺序表实验1)练习类的定义和对象的创建;2)联系顺序表的定义和使用
在Java中,我们可以创建一个`LinkedList`类来模拟一个有序顺序表(通常我们更倾向于使用`ArrayList`,因为它的插入和删除操作效率更高,但对于演示顺序表的概念,`LinkedList`也是很好的选择)。以下是创建一个包含上述功能的简单`LinkedList`类:
```java
import java.util.LinkedList;
public class SortedLinkedList<T extends Comparable<T>> {
private LinkedList<T> list; // 使用LinkedList作为底层数据结构
// 构造函数用于初始化空的顺序表
public SortedLinkedList() {
list = new LinkedList<>();
}
// 添加元素,自动保持有序
public void add(T item) {
list.add(item);
// 如果需要,这里可以添加排序操作,但这在LinkedList中通常是不必要的,因为它会自动按照插入顺序排列
// 对于严格排序的需求,可以考虑其他数据结构如TreeList
}
// 删除指定位置的元素并返回该元素
public T remove(int index) {
if (index >= 0 && index < size()) {
return list.remove(index);
} else {
throw new IndexOutOfBoundsException("Index out of bounds");
}
}
// 根据索引查询元素
public T get(int index) {
if (index >= 0 && index < size()) {
return list.get(index);
} else {
throw new IndexOutOfBoundsException("Index out of bounds");
}
}
// 获取列表大小
public int size() {
return list.size();
}
// 打印列表
@Override
public String toString() {
StringBuilder sb = new StringBuilder("[");
for (T item : list) {
sb.append(item).append(", ");
}
// 移除最后一个逗号和空格
sb.setLength(sb.length() - 2);
sb.append("]");
return sb.toString();
}
//
阅读全文