DFS 알고리즘을 짜다가 ArrayList를 사용한 2차원 배열을 만드는 것을 처음 알게되었다.
이후 유용하게 이용될 것 같아 정리한다.
ArrayList란 Collection 프레임워크의 일부이며 java.util 패키지에 소속되어 있다.
표준 배열보다는 속도가 느리지만, 가변 배열로 사용해야 할 때 매우 편리하고, Depth 는 List 인터페이스에서 상속 받아 사용이 가능하다.
즉 객체가 추가되어 용량을 초과하면, 자동으로 부족한 크기만큼 용량이 늘어난다.
(일반 배열처럼 length 가 고정 될 일이 없다!)
ArrayList<String> list1 = new ArrayList<String>();
❗️인스턴스 생성 시 배열 부호 [ ] 사용
ArrayList<String>[] list_D1 = new ArrayList[3];
for(int i=0; i<3; i++){
list_D1[i] = new ArrayList<String>();
}
각각의 배열 인덱스 lsit_D1[i] 에 new ArrayList() 힙 객체로 가변 배열을 생성해준다.
for(int i=0; i<list_D1.length; i++){
for(int j=0; j<tempArray.length; j++){
list_D1[i].add("추가할 값"); // 해당 값 추가
}
}
for(int i=0; i<list_D1.length; i++){
for(int j=0; j<tempArray.length; j++){
System.out.println(list_D1[i].get(j)); // 해당 값 확인
}
}