Today
-
Yesterday
-
Total
-
  • 배열 array
    Computer Science/자료구조 2023. 11. 20. 00:01

    배열 Array

    • 많은 수의 데이터를 다룰 때 사용

    장점

    • 데이터와 인덱스의 관계가 1:1 -> 접근 속도가 굉장히 빠른 이유 1
    • 데이터가 메모리상에 연속적으로 저장됨 -> 접근 속도가 굉장히 빠른 이유 2

    단점

    • 배열의 생성시 배열의 크기를 지정해야 한다.
    • 데이터의 추가 삭제가 번거로움 -> 가변 길이 배열은 배열의 크기를 변경할 때마다 새로운 배열을 생성 -> 데이터 삭제 시 인덱스를 유지하기위해 빈 공간을 유지하기 때문에 비효율적이다.

    자바에서 사용

    //1. 기본 자료형
    int[] arrIntegerA = new int[3];
    int[] arrIntegerB = new int[]{0, 0, 0};
    int[] arrIntegerC = {0, 0, 0};
    
    arrIntegerC[2] = 0;
    arrIntegerC[3] = 0; // 에러남. 배열의크기가 3이면 배열의 인덱스는 0~2.
    // 배열의 크기를 넘긴 인덱스번호를 입력하고 값을 입력해도 길이가 늘어나지 않음
    
    //2. ArrayList 자료형
    ArrayList<Integer> list = new ArrayList(Arrays.asList(0, 0, 0));
    list.get(2); // 2번 인덱스의 값 0 반환
    list.get(3); // 3번 인덱스가 없기때문에 에러남
    // 하지만 ArrayList는 배열의 길이를 늘려줄 수 있음
    list.add(3, 0); // 3번인덱스자리에 0 추가
    list.add(0); // list의 맨 뒤에 0 추가
    list.add(0,0); // list의 맨 앞에 0 추가
    
    // ArrayList에서 인덱스 번호로 값 보기
    list.get(3); // 3번 인덱스의 값 반환
    
    // ArrayList에서 값으로 인덱스 번호 보기
    list.indexOf(3); // 값이 3인 데이터의 인덱스번호 반환

    'Computer Science > 자료구조' 카테고리의 다른 글

    트리  (0) 2023.11.21
    Linked List 연결리스트  (0) 2023.11.20
    해시맵 HashMap  (0) 2023.11.20
    Queue 큐  (0) 2023.11.20
    Stack 스택  (0) 2023.11.20

Designed by Tistory / Custom by 얼거스