728x90
반응형
SMALL
1. 배열의 개념과 사용법
배열이란?
배열은 동일한 데이터 타입의 요소들이 연속적으로 저장된 데이터 구조다. 배열의 크기는 고정되어 있으며, 배열의 각 요소는 인덱스를 통해 접근할 수 있다. |
배열 선언 및 초기화
배열을 선언하고 초기화하는 방법은 다음과 같다:
//배열 선언
int[] numbers;
// 배열 초기화
numbers = new int[5]; //크기가 5인 정수형 배열 생성
// 선언과 동시에 초기화
int[] numbers = new int[5];
// 배열에 값 할당
numbers[0] = 10;
numbers[1] = 20;
numbers[2] = 30;
numbers[3] = 40;
numbers[4] = 50;
// 배열 요소에 접근하여 출력
for(int i = 0; i < numbers.length; i++) {
System.out.println("Element at index " + i + ": " + numbers[i]);
}
배열 초기화 시 값 할당
int[] numbers = {10,20,30,40,50};
// 배열 요소에 접근하여 출력
for (int i = 0; i < numbers.length; i++) {
System.out.println("Element at index " + i + ": " + numbers[i]);
}
2. ArrayList 사용법
ArrayList란?
- ArrayList는 자바에서 제공하는 동적 배열 클래스다. - 배열과 달리 ArrayList는 크기가 가변적이어서, 요소를 추가하거나 삭제할 때마다 크기가 자동으로 조정된다. - ArrayList는 java.util 패키지에 포함되어 있다. |
import java.utill.ArrayList;
public class ArrayListExample{
//ArrayList 선언 및 초기화
ArrayList<Integer> numbers = new ArrayList<>();
//요소 추가
numbers.add(10);
numbers.add(20);
numbers.add(30);
// 요소 접근
for (int i = 0; i < numbers.size(); i++) {
System.out.println("Element at index " + i + ": " + numbers.get(i));
}
// 요소 삭제
numbers.remove(1); // 인덱스 1에 있는 요소 삭제
// 요소 출력
System.out.println("After removal:");
for (int number : numbers) {
System.out.println(number);
}
}
}
ArrayList 주요 메소드
add(E e): 요소를 추가합니다. get(int index): 특정 인덱스의 요소를 반환합니다. remove(int index): 특정 인덱스의 요소를 삭제합니다. size(): ArrayList의 크기를 반환합니다. clear(): 모든 요소를 삭제합니다. |
3. 배열과 리스트의 차이점
배열 (Array)
- 크기 고정: 배열은 선언 시 크기가 고정된다. - 속도: 메모리에서 연속적으로 저장되어 있어서 접근 속도가 빠르다. - 메모리: 배열의 크기를 미리 알 수 있을 때 효율적이다. - 문법 간단: 배열의 문법이 단순하고 초기화가 쉽다. |
ArrayList
- 크기 가변: ArrayList는 요소를 추가하거나 삭제할 때 크기가 자동으로 조정 된다. - 유연성: 크기가 동적으로 변하기 때문에 요소 추가/삭제가 자유롭다. - 메소드 제공: 요소를 추가, 삭제, 검색하는 다양한 메소드를 제공한다. - 속도: 크기가 변할 때마다 메모리를 재할당해야 하므로 배열보다 느릴 수 있다. |
결론
배열은 고정된 크기의 데이터 저장에 적합하며, ArrayList는 가변적인 데이터 저장에 유용하다. 상황에 맞게 배열과 ArrayList를 선택하여 사용하면 된다. |
728x90
반응형
LIST
'JAVA > JAVA 블로그 만들기' 카테고리의 다른 글
[자바블로그] 30일 자바 블로그 프로젝트 - Day 5: 메소드 (0) | 2024.07.15 |
---|---|
[자바블로그] 30일 자바 블로그 프로젝트 - Day 3: 조건문과 반복문 (0) | 2024.07.11 |
[자바블로그] 30일 자바 블로그 프로젝트 - Day 2: 변수와 자료형 (0) | 2024.07.10 |
[자바블로그] 30일 자바 블로그 프로젝트 - DAY1. 자바 소개 및 개발 환경 설정 (0) | 2024.07.09 |
[자바블로그] 30일 자바 블로그 프로젝트 커리큘럼(ChatGPT이용) (0) | 2024.07.09 |