在Java中,可以使用LinkedList
类来实现有序链表。首先,需要导入java.util.LinkedList
包。然后,创建一个自定义的链表类,继承自LinkedList
,并重写其中的添加元素方法(例如add()
),以便在添加新元素时保持链表的有序性。
下面是一个简单的示例:
import java.util.LinkedList;
public class SortedLinkedList<E extends Comparable<E>> extends LinkedList<E> {
@Override
public boolean add(E element) {
if (isEmpty()) {
return super.add(element);
}
int index = 0;
for (E e : this) {
if (e.compareTo(element) > 0) {
break;
}
index++;
}
add(index, element);
return true;
}
public static void main(String[] args) {
SortedLinkedList<Integer> sortedList = new SortedLinkedList<>();
sortedList.add(5);
sortedList.add(3);
sortedList.add(7);
sortedList.add(1);
System.out.println(sortedList); // 输出: [1, 3, 5, 7]
}
}
在这个示例中,我们创建了一个名为SortedLinkedList
的类,它继承自LinkedList
。我们重写了add()
方法,使其在添加新元素时保持链表的有序性。在main()
方法中,我们创建了一个SortedLinkedList
对象,并向其中添加了一些整数。最后,我们打印出排序后的链表。