기존의 배열은 크기를 먼저 부여해야한다는 단점이 있었다. 그래서 입력갯수가 변하면 배열의 갯수도 달라질때 불편함이 있었다.
이를 해결할 방법이 ArrayList이다.
arrayList
사용법
ArrayList<배열 타입> 객체명 = new ArrayList<>();로 객체를 호출하면된다.
함수들
- add(Object element): 리스트에 요소를 추가합니다.
- add(값의 위치 int index, 값 Object element): 지정된 위치에 요소를 추가합니다.
- get(int index): 지정된 인덱스의 요소를 반환합니다.
- set(int index, Object element): 지정된 인덱스에 요소를 수정합니다.
- remove(int index): 지정된 인덱스의 요소를 제거합니다.
- size(): 리스트의 크기를 반환합니다.
- clear(): 리스트의 모든 요소를 제거합니다.
- isEmpty(): 리스트가 비어 있는지 여부를 확인합니다.
- contains(Object element): 리스트에 지정된 요소가 포함되어 있는지 여부를 확인합니다.
- indexOf(Object element): 리스트에서 지정된 요소의 인덱스를 반환합니다. 처음으로 발견 된 위치의 인덱스가 반환됩니다.
- lastIndexOf(Object element): 리스트에서 지정된 요소의 마지막 인덱스를 반환합니다.
- toArray(): 리스트를 배열로 변환합니다.
ArrayList<Integer> arrayList = new ArrayList<>();
arrayList.add(0);
arrayList.add(1);
arrayList.add(2);
int a = arrayList.get(0);
int b = arrayList.get(1);
int c = arrayList.get(2);
System.out.println(arrayList);
System.out.println(a+b+c);
결과

2차원 배열에서 사용할 만함 함수들
- 값 가져오기: array[row][column]을 사용하여 특정 위치의 값에 접근합니다.
- 값 설정하기: array[row][column] = value를 사용하여 특정 위치의 값을 설정합니다.
- 행 수 가져오기: array.length를 사용하여 2차원 배열의 행 수를 가져옵니다.
- 열 수 가져오기: array[row].length를 사용하여 특정 행의 열 수를 가져옵니다.
- 배열 출력: 중첩된 반복문을 사용하여 배열의 요소를 출력하거나 처리합니다.
- 배열 복사: System.arraycopy() 또는 반복문을 사용하여 배열을 복사할 수 있습니다.
- 배열 비우기: Arrays.fill()을 사용하여 배열을 지정된 값으로 채울 수 있습니다.
문제
백준의 중앙이동 알고리즘_2903을 풀어보면 이 함수들을 사용해서 풀 수 있다.