자료를 구성하는 원소들을 순차적으로 나열시킨 형태
같은 타입의 변수들로 이루어진 집합
인덱스 : 배열에서 위치를 가리키는 숫자
요소(Element) : 배열에 저장된 각각의 값
논리적 순서와 물리적 순서가 일치한다.
ArrayList list = new ArrayList();
ArrayList list = new ArrayList(5); // 최소 5개 추가 시 5개씩 증가
ArrayList list = new ArrayList(5,2); // 최소 5개 추가 시 2개씩 증가함
list.add(object val); // 마지막 위치에 val 추가
list.add(int index, object val) // 해당 인덱스에 value 추기되며 해당 인덱스에 원래 값이 존재했다면 전체적으로 뒤로 밀림
list.remove(int index); // 해당 인덱스에 해당하는 데이터 제거
list.clear(); // 모든 데이터 제거
list.get(int index) // 해당 인덱스에 있는 데이터 가져옴
list.set(int index, Object value) // 해당 인덱스 데이터 value로 변경
list.indexOf(object value);// 해당값의 인덱스 조회 없을 시 -1 반환
Last In First Out
1. 탑처럼 쌓아 나중에 쌓은 것이 먼저 나옴
2. 한번에 하나의 데이터만 처리가능
3. 동적 메모리
Stack<Integer> stack = new Stack<>(); //
stack.push(1); // 1 추가
stack.pop(); // 가장 마지막 원소의 값 삭제 및 출력
stack.peek(); // 가장 마지막 원소 출력
stack.clear(); // 스택 초기화
stack.size(); // 스택 크기 출력
stack.empty(); // stack이 비어 있으면 true
stack.contains(n); // stack에 n 있으면 true
Queue<Integer> queue = new LinkedList<>();
queue.offer(1) // boolean 리턴
queue.add(2) // 예외 발생
queue.poll() // 값 리턴 비어있으면 null
queue.remove() // 예외 발생
queue.clear() // queue 초기화