반응형
ArrayList Clear, new 차이점
이중 배열생성
ArrayList<ArrayList<String>> list = new ArrayList<ArrayList<String>>();
ArrayList<String> innerList = new ArrayList<String>();
innerList.add("1");
innerList.add("2");
innerList.add("3");
list.add(innerList);
list.add(innerList);
list.add(innerList);
// System.out.println(list); [[1, 2, 3], [1, 2, 3], [1, 2, 3]]
for (ArrayList<String> string : list) { //[1, 2, 3]
System.out.println(string); //[1, 2, 3]
} //[1, 2, 3]
이중배열 값입력 문제 발생
ArrayList<ArrayList<String>> list = new ArrayList<ArrayList<String>>();
ArrayList<String> innerList = new ArrayList<String>();
innerList.add("1");
innerList.add("2");
innerList.add("3");
list.add(innerList); //list add
for (ArrayList<String> in : list) { //[1,2,3]
System.out.println(in);
}
innerList.clear(); //clear
innerList.add("4");
innerList.add("5");
innerList.add("6");
list.add(innerList); //list add
for (ArrayList<String> in : list) { //[4, 5, 6] Clear시 번지수 동일하여 4, 5, 6값 저장
System.out.println(in); //[4, 5, 6] Clear시 번지수 동일하여 4, 5, 6값 저장
}
clear로 초기화시 번지수가 동일하여 입력 문제 발생
new로 재할당(새로 생성되어 번지수 변경)
innerList.add("1");
innerList.add("2");
innerList.add("3");
list.add(innerList);
for (ArrayList<String> in : list) { //[1,2,3]
System.out.println(in);
}
//innerList.clear();
innerList = new ArrayList<String>(); // 재할당
innerList.add("4");
innerList.add("5");
innerList.add("6");
list.add(innerList);
for (ArrayList<String> in : list) { //[1, 2, 3]
System.out.println(in); //[4, 5, 6]
}
리스트 이중배열 예제
int num = 1;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
innerList.add(String.valueOf(num));
num++;
}
list.add(innerList);
//innerList.clear();
innerList = new ArrayList<String>(); // 새로 생성
}
for (ArrayList<String> in : list) {
System.out.println(in);
}
출력 결과
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
반응형
'프로그래밍 > Java' 카테고리의 다른 글
JAVA CSV파일 엑셀 다운로드 후 시간 표기 오류 (0) | 2022.03.16 |
---|---|
ArrayList, LinkedList 속도 비교 (0) | 2021.06.11 |
자바 - 오버로딩(Overloading)과 오버라이딩(Overriding) (0) | 2021.06.02 |
자바 배열을 복사하는 방법 (깊은 복사, 얕은 복사) (0) | 2021.05.31 |
toString()과 String.valueOf() (0) | 2021.05.28 |