이번 주제는 Array 배열입니다. 우리는 이미 잘 알고 있기에 복습한다고 생각하시면 좋을 것 같습니다.
"동일한 타입의 데이터를 연속된 메모리 공간에 저장하는 자료구조" 라고 정의할 수 있습니다.
장점 : 빠른 접근 속도 (O(1)로 인덱스 접근이 가능합니다.)
단점 : 크기가 고정되어 있으며, 삽입 or 삭제 시 성능이 저하됩니다.
int[] arr = new int[5]; // 크기가 5인 배열 생성
int[] arr2 = {1, 2, 3, 4, 5}; // 초기화된 배열
arr[0] = 10; // 배열 첫 번째 요소를 10으로 수정
System.out.println(arr[0]); // 출력: 10
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
System.out.println(matrix[0][1]); // 출력: 2
int[][] jagged = new int[3][];
jagged[0] = new int[2]; // 첫 번째 행의 길이: 2
jagged[1] = new int[3]; // 두 번째 행의 길이: 3
jagged[2] = new int[1]; // 세 번째 행의 길이: 1
Arrays.sort(arr); // 오름차순 정렬
Arrays.sort(arr, Collections.reverseOrder()); // 내림차순 정렬 (Integer[] 필요)
//선형 탐색(Linear Search)
int key = 3;
for (int i = 0; i < arr.length; i++) {
if (arr[i] == key) {
System.out.println("Found at index: " + i);
}
}
//이진 탐색 (Binary Search)
int index = Arrays.binarySearch(arr, key); // 정렬된 배열에 사용
System.out.println("Index: " + index);
//최대값 찾기, 최소값은 if문만 변경해서 작성하면 됨.
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) max = arr[i];
}
System.out.println("Max: " + max);
빠르고 간단하게 Array에 대해서 review 해봤습니다. 오늘도 error / issue 없는 하루 되시길 바랍니다. 감사합니다 :)