1. 什么是ArrayDeque和LinkedList?
import java.util.ArrayDeque;
public class ArrayDequeExample {
public static void main(String[] args) {
ArrayDeque<Integer> deque = new ArrayDeque<>();
// 添加元素
deque.addFirst(1);
deque.addLast(2);
// 获取元素
int first = deque.getFirst();
int last = deque.getLast();
System.out.println("First element: " + first); // 输出:First element: 1
System.out.println("Last element: " + last); // 输出:Last element: 2
// 删除元素
deque.removeFirst();
deque.removeLast();
System.out.println("Size: " + deque.size()); // 输出:Size: 0
}
}
import java.util.LinkedList;
public class LinkedListExample {
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<>();
// 添加元素
list.addFirst(1);
list.addLast(2);
// 获取元素
int first = list.getFirst();
int last = list.getLast();
System.out.println("First element: " + first); // 输出:First element: 1
System.out.println("Last element: " + last); // 输出:Last element: 2
// 删除元素
list.removeFirst();
list.removeLast();
System.out.println("Size: " + list.size()); // 输出:Size: 0
}
}
ArrayDeque和LinkedList是Java集合框架中的两种双端队列实现类。它们分别基于数组和链表实现,在不同的场景下具有不同的优势。ArrayDeque适用于需要高效随机访问元素和栈/队列操作的场景,而LinkedList适用于需要频繁在头部或尾部进行插入和删除操作的场景。在选择使用哪种实现类时,可以根据具体的需求来决定。