배열과 ArrayList
배열
- 하나의 변수만 선언 하면서 순서대로 값을 담을 수 있는 자료구조
배열 선언
- int[] arr1;
- int arr1[];
- int[] arr1 = null;
- int[] arr1 = new int[5];
- int[] arr = {10,20,30,40,50};
다차원배열
- 2차원 이상의 배열(행렬과 동일)
다차원배열 선언
- int[][] arr = new int[3][3];
- int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
ArrayList
- 배열과 비슷한 Java에서 기본 생성되어 있는 클래스
- 배열은 모든 값이 동일한 자료형이지만, ArrayList는 다양한 자료형의 값 저장이 가능하다.
- 배열은 선언 시 지정된 길이에서 변경이 불가능하지만, ArrayList는 자유롭게 값 추가가 가능하다.
ArrayList 사용 방법
- 클래스 import
- import java.util.ArrayList;
- 객체 생성
- ArrayList al = new ArrayList();
- 값 추가
- al.add("홍길동");
- al.add(1);
- al.add(95.5);
- 값 접근
- al.get(0); >>>> 홍길동 출력
- get의 리턴 타입은 Object 이므로 필요한 경우 반드시 형변환을 해주어야 한다.
배열 복사
- 배열은 한 번 생성된 값들의 개수 수정 불가능
- 값을 추가하기 위해서는 새로운 배열 생성 후 값을 복사해야 한다.
- 배열 복사 방법
- for문
- System.arrayCopy()
- System.arraycopy(원본, 원본 시작 인덱스, 목적지, 복사 시작될 인덱스, 길이);
- Arrays.copyOf()
- int[] arr2 = Arrays.copyOf(원본, 새로운배열길이);
향상된 for문
- v라는 임시 변수가 arr2를 돌며 확인
for int(v : arr2) {
System.out.println(v);
}
참조 자료형
- 값이 저장된 위치의 주소를 참조하는 변수
int[] arr1 = {1,2,3};
int[] arr2 = arr1; // 다른 배열 선언
System.out.println(arr == arr2);
arr2[1] = 4;
System.out.println(arr1[1]);
- 위 코드 실행 결과
true
4
- arr1과 arr2는 완전히 같은 배열이며, 한 곳에서 값이 변경되면 다른 곳도 함께 변경된다.
Author And Source
이 문제에 관하여(배열과 ArrayList), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hyeongmcho/배열과-ArrayList저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)