본문 바로가기
프로그래밍 언어/Java

ArrayList 클래스

by 진진리 2023. 9. 18.
728x90

객체 배열을 좀 더 쉽게 사용할 수 있도록 자바가 제공하는 객체 배열 클래스

 

  • 많이 사용하는 메서드
메서드 설명
boolean add(E e) 요소 하나를 배열에 추가. E는 요소의 자료형
int size() 배열에 추가된 요소 전체 개수를 반환.
E get(int index) 배열의 index 위치에 있는 요소 값 반환.
E remove(int index) 배열의 index 위치에 있는 요소 값을 제거하고 반환.
boolean isEmpty() 배열이 비어 있는지 확인.

 

  • ArrayList 배열 선언하기
import java.util.ArrayList;  # 임포트!

ArrayList<E> 배열명 = new ArrayList<E>();

  • 스택 구현하기
package collection.arraylist;
import java.util.ArrayList;

public 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));
    }
}


public class StackTest {
    public static void main(String[] args){
        MyStack stack = n
        stack.push("B");
        stack.push("C");

        System.out.println(stack.pop());
        System.out.println(stack.pop());
        System.out.println(stack.pop());
    }
}

// 결과:C\nB\nA

 

  • 큐 구현하기
package collection.arraylist;
import java.util.ArrayList;

public 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());
    }
}

//결과: A\nB\nC

 

'프로그래밍 언어 > Java' 카테고리의 다른 글

자주 쓰는 함수  (0) 2023.10.10
자료형 String  (0) 2023.09.21
상속과 다형성  (0) 2023.09.18
객체지향  (0) 2023.09.13
배열  (0) 2023.09.13