IT/Java

컬렉션 프레임워크04-스택,큐 구현

어센트 2020. 1. 8. 22:20

스택,큐 구현에 사용할 Member 클래스

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
public class Member {
 
    
    private int memberId;
    private String memberName;
    
    public Member() {}
    public Member(int memberId,String memberName) {
        this.memberId = memberId;
        this.memberName = memberName;
    }
    public int getMemberId() {
        return memberId;
    }
    public void setMemberId(int memberId) {
        this.memberId = memberId;
    }
    public String getMemberName() {
        return memberName;
    }
    public void setMemberName(String memberName) {
        this.memberName = memberName;
    }
    
    public String toString() {
        return memberName +"회원님의 아이디는 "+memberId +"입니다.";
    }
    
    
}
 
cs

스택구현

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
import java.util.ArrayList;
 
class MyStack{
    private ArrayList<String> arrayStack = new ArrayList<String>();
    
    public void push(String data) {
        arrayStack.add(data);
    }
    public String pop() {
        int len = arrayStack.size();
        if(len == 0) {
            System.out.println("스택이 비었습니다.");
            return null;
        }
        return arrayStack.remove(len-1); //0부터시작이니까
    }
}
public class StackTest {
 
    public static void main(String[] args) {
        MyStack stack = new MyStack();
        
        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());
        
    }
    
}
cs

큐 구현

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
import java.util.ArrayList;
 
class MyQueue{
    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(arrayQueue.size()-1);
        
    }
}
public class QueueTest {
 
    public static void main(String[] args) {
        MyQueue arrayQueue = new MyQueue();
        
        arrayQueue.enQueue("A");
        arrayQueue.enQueue("B");
        arrayQueue.enQueue("C");
        
        System.out.println(arrayQueue.deQueue());
        System.out.println(arrayQueue.deQueue());
        System.out.println(arrayQueue.deQueue());
        System.out.println(arrayQueue.deQueue());
        
        
        
    }
 
}
cs

간단하게 스택과 큐를  ArrayList를 이용하여 구현해보았다.