-
Notifications
You must be signed in to change notification settings - Fork 0
/
LinkedListStack.java
48 lines (39 loc) · 999 Bytes
/
LinkedListStack.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package com.yan.stack.linked;
import com.yan.linked.LinkedList;
import com.yan.stack.Stack;
import java.util.StringJoiner;
/**
* @author Administrator
* @since 1.0.0
* 2019/10/18 0018 12:14
*/
public class LinkedListStack<E> implements Stack<E> {
private LinkedList<E> linkedList;
public LinkedListStack() {
this.linkedList = new LinkedList<>();
}
@Override
public void push(E e) {
linkedList.addFirst(e);
}
@Override
public E pop() throws UnsupportedOperationException {
E e = linkedList.getFirst();
linkedList.removeFirst();
return e;
}
@Override
public E peek() {
return linkedList.get(0);
}
@Override
public String toString() {
return new StringJoiner(", ", LinkedListStack.class.getSimpleName() + "[", "]")
.add(linkedList.toString())
.toString();
}
@Override
public int getSize() {
return linkedList.size();
}
}