Java 자료구조 - 배열 (Array)

김성규·2023년 2월 15일

배열 (Array)

  • 많은 수의 데이터를 다룰 때 사용하는 자료구조
  • 인덱스와 1:1로 대응하도록 구성
  • 데이터가 메모리 상에 연속적으로 저장
  • int[] a = {1, 2};
    int[] a = new int[2];와 같은 형태로 생성

장점

  • 인덱스를 이용해서 데이터에 빠르게 접근 가능

단점

  • 미리 최대 길이를 정해서 생성해야 함
  • 데이터 삭제 시, 인덱스 유지를 위해 빈 공간 유지

배열 활용

public class Main {
	public static void main(String[] args) {
		int[] score = { 50, 70, 65, 90, 40 };
		int sum = 0;
		for (int i : score) {
			sum += i;
		}
		System.out.println("점수 합계 : " + sum); // 결과 : 315
	}
}

for each문을 활용해서 sum에 score 배열 0~4 인덱스 값의 합 저장

score.length

score 배열의 크기 반환

배열의 시간복잡도

  • 추가, 삭제 : O(1) or O(n)
  • 검색 : O(n)
  • 접근 : O(1)

추가, 삭제는 해당 인덱스를 알고있으면 O(1)이지만 모르면 검색의 시간복잡도인 O(n)
검색은 해당 인덱스의 값을 찾기 위해 0번 인덱스부터 차례로 검색하기 때문에 O(n)
접근은 특정 인덱스의 값을 알고있으면 바로 찾을 수 있기 때문에 O(1)

profile
기록하는 습관

0개의 댓글