packageDate_pacage;publicclassLinkedList<E>{publicstaticvoidmain(String[] args) { LinkedList<Integer> linkedList =newLinkedList<>();for(inti = 0 ; i < 5 ; i ++) { linkedList.addFirst(i); System.out.println(linkedList); } linkedList.add(2, 666); System.out.println(linkedList); linkedLis...
import java.util.LinkedList; import java.util.Queue; public class QueueExample { public static void main(String[] args) { Queue<String> queue = new LinkedList<>(); // 创建一个空队列 queue.offer("A"); // 在队列尾部添加元素 queue.offer("B"); queue.offer("C"); System.out.println(qu...
Deque接口提供了更丰富的功能,而ArrayDeque和LinkedList则提供了高效的实现。 在大多数情况下,ArrayDeque是更好的选择,因为它在内存使用和性能上通常优于LinkedList。然而,如果你需要在列表中间频繁插入和删除元素,LinkedList可能是一个更好的选择。 // 使用ArrayDeque实现栈 Deque<Integer> stack = new ArrayDeque<>();...
队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。 LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。 Queue<String> queue =newLinkedList<String>(); queue.offer("a"); //添加元素 queue.poll(); //返回并删除第一个元素 add()和remove()方法在失败的...
LinkedList<String> names = new LinkedList<>(); names.add("Alice"); names.add("Bob"); names.add("Charlie"); System.out.println(names.get(1)); // 输出结果为 "Bob" ``` 栈(Stack) 栈是一种后进先出(LIFO)的数据结构,它只允许在栈顶进行插入和删除操作。在 Java 中,我们可以使用 `Stack`...
publicclassStackAsLinkedList{StackNoderoot;staticclassStackNode{intdata;StackNodenext;StackNode(intdata){this.data=data;}}publicbooleanisEmpty(){if(root==null){returntrue;}elsereturnfalse;}publicvoidpush(intdata){StackNodenewNode=newStackNode(data);if(root==null){root=newNode;}else{StackNodetemp...
Stack<Integer> stack = new Stack<>(); //1、2、3按顺序入栈 stack.push(1); stack.push(2); stack.push(3); int a = stack.peek(); //返回栈顶元素3 int b = stack.pop(); //返回栈顶元素3,并将3出栈,此时栈中只剩2和1 int size = stack.size(); //获取栈的当前大小 ...
☞ ArrayDeque可以直接作为栈使用。当用作栈时,性能优于Stack,当用于队列时,性能优于LinkedList。 ☞ 无容量大小限制,容量按需增长。 ☞ 非线程安全队列,无同步策略,不支持多线程安全访问。 ☞ 具有fail-fast特性,不能存储null值,支持双向迭代器遍历。
值得注意的是LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。 import java.util.Queue; import java.util.LinkedList; public class TestQueue { public static void main(String[] args) { Queue<String> queue = new LinkedList<String>(); ...
为了说明LinkedList、LinkList、Stack都实现了List接口,我例子用的list1、list2和list、分别使用了它们向上转型。 值得注意的是例子中标【1】的地方,这个地方使用了Integer类作为参数传入,以防止remove方法判断我传入的是用来表示位置的整型,而在前边的add方法中因为不会混淆,直接使用整型作为参数传入,它会被自动装箱为In...