배열(Array)

  • 데이터를 나열하고 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조
  • 파이썬에서는 리스트 타입이 배열 기능을 제공함

배열이 필요한 이유

  • 같은 종류의 데이터를 효율적으로 관리하기 위해 사용
  • 같은 종류의 데이터를 순차적으로 저장
  • 배열의 장점 :
    • 빠른 접근 가능
      • 첫 데이터의 위치에서 상대적인 위치로 데이터 접근(인덱스 번호로 접근)
  • 배열의 단점 :
    • 데이터 추가/삭제의 어려움
      • 미리 최대 길이를 지정해야 함

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

  • 1차원 배열은 []를 통해 선언할 수 있음
  • 각 아이템은 {}내에 콤마로 작성
    // new 키워드를 사용해서, 배열을 미리 선언하고, 데이터를 넣을 수도 있음
    int[] data_list = new int[10];
    data_list[0] = 10
    


// 직접 배열 데이터 선언시 넣을 수도 있음
int data_list1[] = {5, 4, 3, 2, 1};
int[] data_list2 = {1, 2, 3, 4, 5};

System.out.println(data_list2[0]);



참고 : List와 ArrayList

  • List와 ArrayList 선언의 차이점
List<Integer> list1 = new ArrayList<Integer>();
ArrayList<Integer> list1 = new ArrayList<Integer>();
  • List는 인터페이스이고 ArrayList는 클래스임
    • 클래스는 크게 일반 클래스와 클래스 내에 추상메서드가 하나 이상 있거나 abstract로 정의된 추상 클래스로 나뉨
    • 인터페이스는 모든 메서드가 추상 메서드인 경우를 의미하며 인터페이스를 상속받는 클래스는 인터페이스에서 정의된 추상 메서드를 모두 구현해야함
    • ArrayList가 아니라 List로 선언된 변수는 다음과 같이 필요에 따라 다른 리스트 클래스를 쓸 수 있는 구현상의 유연성을 제공함

Leave a comment