LinkedList相比于ArrayList增加删除的操作效率更高,但是查找和修改的效率更低
适合LinkedList的情况:
1.需要循环迭代访问列表中的某些元素
2.需要频繁的在列表开头、中间、结尾等添加或者删除元素
基本的添加和删除操作:add、pop
LinkedList<String> stack = new LinkedList<>();
stack.add("a1"); //添加元素
stack.add("a2"); //添加元素
stack.add("a3"); //添加元素
stack.pop(); //取出队首元素
System.out.println(stack.pop());
以上ArrayList实现的效率更高,但是LinkedList给封装了其他的方法
让我们来看看LinkedList更高效的方法
在队首、队尾插入元素
LinkedList<String> stack = new LinkedList<>();
stack.add("a1"); //添加元素
stack.add("a2"); //添加元素
stack.addFirst("begin"); //在队首插入元素
stack.addLast("end"); //队尾插入元素
System.out.println(stack);
删除队首、队尾元素
LinkedList<String> stack = new LinkedList<>();
stack.add("a1"); //添加元素
stack.add("a2"); //添加元素
stack.add("a3"); //添加元素
stack.removeFirst(); //删除队首元素
stack.removeLast(); //删除队尾元素
System.out.println(stack);
获取队首、队尾元素
LinkedList<String> stack = new LinkedList<>();
stack.add("a1"); //添加元素
stack.add("a2"); //添加元素
stack.add("a3"); //添加元素
String begin = stack.getFirst(); //获取队首元素
String end = stack.getLast(); //获取队尾元素
System.out.println(begin + end);
遍历LinkedList的两种方法
LinkedList<String> stack = new LinkedList<>();
stack.add("a1"); //添加元素
stack.add("a2"); //添加元素
stack.add("a3"); //添加元素
for (String s : stack) {
System.out.println(s);
}
for (int i = 0; i < stack.size(); i++) {
System.out.println(stack.get(i));
}
查看更多API方法:LinkedListhttps://www.runoob.com/manual/jdk11api/java.base/java/util/LinkedList.html