โถ ArrayList๋ก ์คํ๊ณผ ํ ๊ตฌํํ๊ธฐ
์คํ์ ์์๋ฅผ ์๋ฏ์ด ์๋ฃ๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ์.
์ด์ฒ๋ผ ์คํ์ ๋งจ ๋์ค์ ์ถ๊ฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋จผ์ ๊บผ๋ด๋ ๋ฐฉ์์ด๋ค.
ํ๋ ์ผ์ ์ํ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ๋ฐฉ์์ ์๋ฃ ๊ตฌ์กฐ๋ก '์ ์ฐฉ์'์ ์๊ฐํ๋ฉด ๋๋ค.
โ
โ
โ
*ArrayList๋ก ์คํ ๊ตฌํํ๊ธฐ
์คํ์ ๊ฐ์ฅ ์ต๊ทผ์ ์ถ๊ฐ๋ ์๋ฃ๋ถํฐ ๋ฐํํด ์ค๋ค. ์คํ์ ์๋ฃ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ push( )๋ผ๊ณ ํ๊ณ , ์๋ฃ๋ฅผ ๊บผ๋ด๋ ๊ฒ์ pop( )์ด๋ผ๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์คํ์ ๊ฐ์ฅ ์ต๊ทผ์ ์ถ๊ฐ๋ ์๋ฃ์ ์์น๋ฅผ top์ด๋ผ๊ณ ํ๋ค.
โ
StackTest.java
package collection.arraylist;
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(); // ArrayList์ ์ ์ฅ๋ ์ ํจํ ์๋ฃ์ ๊ฐ์
if (len == 0) {
System.out.println("์คํ์ด ๋น์์ต๋๋ค.");
return null;
}
return (arrayStack.remove(len - 1)); // ๋งจ ๋ค์ ์๋ ์๋ฃ ๋ฐํํ๊ณ ๋ฐฐ์ด์์ ์ ๊ฑฐ
}
}
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());
}
}
โ
<์คํ ๊ฒฐ๊ณผ>
โ
โ
โ
*ArrayList๋ก ํ ๊ตฌํํ๊ธฐ
ํ๋? ์๋ฃ ๊ตฌ์กฐ์ ํ ํํ๋ก ์๋ฃ์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ด ํ ๋ฐฉํฅ์ผ๋ก๋ง ์ด๋ฃจ์ด์ง๋ ์ ํ ์๋ฃํ.
์๋ฃ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ๋ enqueue, ์๋ฃ์ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅ(์ถ์ถ)ํ๋ dequeue
ํ๋ ์๋ฃ๊ตฌ์กฐ์๋ค ์ ๋ ฅํ ๋ฐ์ดํฐ ์์๋๋ก ์ถ๋ ฅ์ด ๋๋๋ฐ, ์ด๋ฅผ FIFO(First In First Out)๋ผ ํ๋ค.
๋ง์ง ๋๊ธฐ์ค์ด๋ผ ์๊ฐํ๋ฉด ์ฌ์. (์๋1์ ์ฃผ๋ฌธ์ ์ฒ๋ฆฌํ๋ฉด ์๋2์ ์ฃผ๋ฌธ์ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌํจ)
โ
QueueTest.java
package collection.arraylist;
import java.util.ArrayList;
class MyQueue {
private ArrayList<String> arrayQueue = new ArrayList<String>();
public void enQueue(String data) { // ํ์ ๋งจ ๋ค์ ์ถ๊ฐ
arrayQueue.add(data);
}
public String deQueue() { // ํ์ ๋งจ ์์์ ๊บผ๋
int len = arrayQueue.size();
if (len == 0) {
System.out.println("ํ๊ฐ ๋น์์ต๋๋ค.");
return null;
}
return (arrayQueue.remove(0)); // ๋งจ ์์ ์๋ฃ ๋ฐํํ๊ณ ๋ฐฐ์ด์์ ์ ๊ฑฐ
}
}
public class QueueTest {
public static void main(String[] args) {
MyQueue queue = new MyQueue();
queue.enQueue("A");
queue.enQueue("B");
queue.enQueue("C");
System.out.println(queue.deQueue());
System.out.println(queue.deQueue());
System.out.println(queue.deQueue());
}
}
โ
<์คํ ๊ฒฐ๊ณผ>
โ
'Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java-๊ธฐ์ด] set ์ธํฐํ์ด์ค (0) | 2021.02.22 |
---|---|
[Java-๊ธฐ์ด] Iterator๋ฅผ ์ฌ์ฉํ์ฌ ์์๋ฅผ ์ํํ ๋ ์ฌ์ฉํ๋ ๋ฉ์๋ (0) | 2021.02.22 |
[Java-๊ธฐ์ด] List ์ธํฐํ์ด์ค (0) | 2021.02.21 |
[Java-๊ธฐ์ด] ์ปฌ๋ ์ ํ๋ ์์ํฌ (0) | 2021.02.21 |
[Java-๊ธฐ์ด] ๊ฐ๋ ์ก๊ธฐ 3 (๊ณต๋ถ ๊ธฐ๋ก) ๊ณ์ ์์ฑ์ค (0) | 2021.02.21 |
๋๊ธ