728x90

Array

  • 배열의 길이는 고정되어 변경 불가
  • 선언할 때 별도의 초기화가 없다면 배열의 크기만큼 기본값이 채워진다
  • 물리 주소와 논리 주소가 동일 (index로 해당 원소 접근 가능)
  • 연속된 메모리의 공간으로 이루어져 있다

 

public class Main {
    public static void main(String []args) {
        int [] arr  = new int[5];
        arr[0] = 1;
        arr[1] = 2;
        arr[2] = 3;
        arr[3] = 4;
        arr[4] = 5;

        for(int i=0; i<arr.length; i++) {
            System.out.print(arr[i] + " "); // 1 2 3 4 5
        }
    }        
}

 

ArrayList

  • ArrayList는 순서가 있는 엘리먼트의 모임으로 배열과는 다르게 빈 엘리먼트는 절대 허용하지 않는다.
  • ArrayList는 배열이 가지고 있는 index라는 장점을 버리고 대신 빈틈없는 데이터의 적재 라는 장점을 취함
  • ArrayList에서 index는 몇 번째 순서의 의미를 가진다. (배열-Array에서의 인덱스는 값에 대한 유일무이한 식별자)
  • ArrayList는 크기가 가변적이다.
  • ArrayList는 빈 공간을 허용하지 않기 때문에 메모리의 낭비가 없다.
  • 포인터를 통하여 다음 데이터의 위치를 가르켜고 있어 삽입 삭제의 용이.

 

public class Main {
    public static void main(String []args) {
        List <Integer> arrList = new ArrayList<>();
        
        arrList.add(1);  //add 데이터 입력
        arrList.add(3);
        arrList.add(5);
        arrList.add(7);

        arrList.set(0, 100); //set 데이터 수정
        arrList.set(1, 200);
        arrList.remove(3); //remove 데이터 삭제

        for(int i=0; i<arrList.size(); i++) {
            System.out.print(arrList.get(i) + " "); // 100 200 5
     	}
    }
}

 

 

 

728x90

+ Recent posts