用Java模拟一个堆栈或者队列数据结构。
首先得明白堆栈和队列的数据结构:
堆栈:先进后出
队列:先进先出
LinkedList中刚好有addFirst()和addLast()方法。
1. public class Stack {
2. public static void main(String[] args) {
3. StackTools tools = newStackTools();
4. "a");
5. "b");
6. "c");
7. "d");
8.
9. tools.remove();
10. }
11. }
12.
13. private class StackTools {
14. private LinkedList<String> linkedList;
15. publicStackTools(){
16. linkedList = new LinkedList<String>();
17. }
18.
19. public void add(String string){
20. linkedList.addFirst(string);
21. }
22.
23. public void remove(){
24. for(int i = 0; i < linkedList.size(); i++){
25. String content = linkedList.get(i);
26. System.out.println(content);
27. }
28. }
29.
30. }
打印结果:
1. d
2. c
3. b
4. a
这是先进后出,这就是堆栈的数据结构,队列就简单了,只要把addFirst()方法改成addLast()方法就行。
代码如下:
1. public class Queue {标签:Java,LinkedList,void,String,堆栈,public,linkedList From: https://blog.51cto.com/u_11407799/5914590
2. public static void main(String[] args) {
3. new QueueTools();
4. "a");
5. "b");
6. "c");
7. "d");
8.
9. tools.remove();
10. }
11. }
12.
13. private class QueueTools {
14. private LinkedList<String> linkedList;
15. publicQueueTools(){
16. linkedList = new LinkedList<String>();
17. }
18.
19. public void add(String string){
20. linkedList.addLast(string);
21. }
22.
23. public void remove(){
24. for(int i = 0; i < linkedList.size(); i++){
25. String content = linkedList.get(i);
26. System.out.println(content);
27. }
28. }
29. }