[Fast Campus] 한 번에 끝내는 코딩테스트 369 : 배열

Player-Geun·2022년 1월 27일
0

✨ 배열 (Array)

배열이란

데이터를 나열하고, 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조

배열의 필요성

  • 같은 종류의 데이터를 효율적으로 관리하기 위해 사용
  • 같은 종류의 데이터를 순차적으로 저장

  • 장점 - 빠른 접근 가능 : 첫 데이터의 위치에서 상대적인 위치로 데이터 접근( 인덱스 번호 )
  • 단점 - 데이터 추가/삭제의 어려움 : 미리 최대 길이를 지정

Primitive & Wrapper

복잡도를 낮추기 위해 주로 Wrapper 사용

  • null 을 용이하게 처리
  • ArrayList 등 객체만을 핸들링 하는 기능을 사용하기 위해

✨ JAVA Array

JAVA 에서는 기본 문법으로 배열 지원

  • 1차원 배열을 []를 통해 선언할 수 있음
  • 각 아이템은 {} 내에 콤마로 작성
Integer data_list1[] = {5, 4, 3, 2, 1};
Integer[] data_list2 = {1, 2, 3, 4, 5};

JAVA 에서 배열을 보다 손쉽게 다루기 위한 클래스등을 제공

Arrays 클래스, ArrayList 클래스 등

  • ArrayList 클래스는 가변 길이의 배열 자료구조를 다룰 수 있는 기능을 제공

List & ArrayList

  • List 는 인터페이스, ArrayList 는 클래스
    • 클래스는 크게 일반 클래스와 클래스 내에 '추상 메서드' 가 하나 이상 있거나, abstract 로 정의된 추상 클래스로 나뉨
    • 인터페이스는 모든 메서드가 추상 메서드인 경우를 의미하며, 인터페이스를 상속받는 클래스는 인터페이스에서 정의된 추상 메서드를 모두 구현해야 함 (따라서 다양한 클래스를 상속받는 특정 인터페이스는 결국 동일한 메서드를 제공함)
    • ArrayList 가 아니라, List 로 선언된 변수는 다음과 같이 필요에 따라 다른 리스트 클래스를 쓸 수 있는 구현상의 유연성 을 제공함

📝 마치며

배열에 대한 복습을 진행하며 List 와 ArrayList 의 차이점의 이해를 보완할 수 있는 시간이었다.

profile
주니어 개발자

0개의 댓글