
[묘공단] 1주차 학습 기록 (배열, ArrayList)알고리즘2024. 4. 21. 19:50
Table of Contents
1주차에는 Java와 ArrayList에 대해 공부했다.
대부분 아는 내용이지만 복습 차원에서 정리해보았다.
배열
배열은 인덱스와 값을 일대일 대응해 관리하는 자료구조이다.
배열의 특징
- 고정된 크기를 갖는다.
- 동일한 데이터 유형의 요소만 저장할 수 있다.
- 인덱스를 통해 요소에 직접 접근할 수 있다.
- 일반적으로 단순성과 고정된 크기로 인해 다른 데이터 구조에 비해 메모리와 속도 측면에서 더 나은 성능을 제공한다.
배열 선언 및 초기화 예시
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = new int[5]; // 크기 5의 배열을 선언
arr2[0] = 10; // 첫번째 요소로 10을 할당
arr2[1] = 20; // 두번째 요소로 20을 할당
// ...
배열과 차원
배열은 2차원, 3차원 등 다차원 배열을 사용할 때도 많다.
하지만 컴퓨터 메모리 구조는 1차원이기 때문에, 실제로는 1차원 공간에 저장한다.
2차원 배열 예시
int[][] arr = {{1, 2, 3}, {4, 5, 6}}; // 2차원 배열 생성
System.out.println(arr[1][1]); // 5
arr[1][1] = 7; // arr[1][1]에 저장된 값을 7로 변경
System.out.println(arr[1][1]); // 7
ArrayList
크기가 동적으로 변경되는 배열이 필요할 때, ArrayList를 활용하면 된다.
ArrayList 특징
- Java Collections Framework의 일부이며, 동적 크기를 제공한다.
- 다양한 유형의 요소를 저장할 수 있다.
- java.util 패키지의 일부인 클래스로, new 키워드를 사용하여 인스턴스를 생성해야 한다.
- add(), remove(), get() 등과 같은 메소드를 제공하여 추가, 제거, 접근을 수행한다.
- 동적 크기 조정 및 개체 관리로 인한 오버헤드로 인해 배열에 비해 성능이 약간 낮을 수 있다.
ArrayList 선언 및 초기화 예시
import java.util.ArrayList;
ArrayList<Integer> arrayList = new ArrayList<Integer>(); // Integer ArrayList 선언
myList.add(10); // arrayList에 10 추가
myList.add(20); // arrayList에 20 추가
// ...
배열과 ArrayList는 각자 장단점이 있다. 배열은 동일 데이터 유형의 고정 크기 컬렉션에 대해 간단하고 효율적인 반면에,
ArrayList는 더 복잡한 컬렉션에 유연성과 동적 크기 조정을 제공한다. 요구사항과 상황에 맞춰서 사용하면 되겠다.
코딩 테스트 합격자 되기 - 자바 편 을 읽고 작성한 글입니다.
'알고리즘' 카테고리의 다른 글
| [백준] 10773 (0) | 2024.04.22 |
|---|---|
| [묘공단] 2주차 학습 기록(스택, 큐) (0) | 2024.04.22 |
| [프로그래머스] 올바른 괄호 (1) | 2024.04.19 |
| [프로그래머스] 실패율 (0) | 2024.04.18 |
| [프로그래머스] 행렬의 곱셈 (0) | 2024.04.17 |

@clapp :: Clap 개발블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!