반응형
오늘은 arrayList를 이용하여 자료 구조형 중 하나인 Stack와 Queue를 간단한 방법으로 구현해 보겠습니다.
Stack
Stack은 Last In First Out(LIFO) 즉 맨 마지막에 추가된 요소가 가장 먼저 꺼내지는 자료구조입니다.
import java.util.ArrayList;
class Stack {
private ArrayList<String> arrayStack = new ArrayList<String>();
public void push(String data) {
arrayStack.add(data);
}
public String pop() {
if(arrayStack.size()==0) {
System.out.println("데이터가 존재 하지 않습니다.");
return null;
}
return arrayStack.remove(arrayStack.size()-1);
}
}
public class StackTest {
public static void main(String[] args) {
Stack stack = new Stack();
stack.push("A");
stack.push("B");
stack.push("C");
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
}
}
Queue
Queue는 First In First Out(FIFO) 즉 먼저 저장된 자료가 먼저 꺼내지는 자료 구조를 말합니다.
import java.util.ArrayList;
class Queue{
private ArrayList<String> arrayQueue = new ArrayList<String>();
public void enqueue(String data) {
arrayQueue.add(data);
}
public String dequeue() {
if(arrayQueue.size()==0) {
System.out.println("데이터가 존재 하지 않습니다.");
return null;
}
return arrayQueue.remove(0);
}
}
public class QueueTest {
public static void main(String[] args) {
Queue queue = new Queue();
queue.enqueue("A");
queue.enqueue("B");
queue.enqueue("C");
System.out.println(queue.dequeue());
System.out.println(queue.dequeue());
System.out.println(queue.dequeue());
System.out.println(queue.dequeue());
}
}
'개발언어 > JAVA' 카테고리의 다른 글
[JAVA] 자바 날짜 포맷 변경 방법(SimpleDateFormat) yyyyMMdd (1) | 2020.08.06 |
---|---|
[JAVA] 람다식(Lambda Expressions)이란? 사용방법 & 장단점 (0) | 2020.08.04 |
[Java] 날짜 계산 방법(년, 월, 일 더하고 빼는 방법) (0) | 2020.08.03 |
[JAVA] 제네릭(Generic)이란? 제네릭 사용 방법과 예제 정리 (0) | 2020.08.01 |
[JAVA]자바 변수란 무엇인가? (0) | 2020.03.12 |
댓글