본문 바로가기

Programming language/Java

[JAVA] Array&ArrayList

Array, ArrayList의 공통점

1. 데이터를 묶어서 그룹으로 사용하고 싶을 때 사용한다.
2. 저장 순서가 있고 중복을 허용한다.


Array, ArrayList의 차이점


1. array는 기본 타입 또는 객체를  저장할 수 있지만 ArrayList는 객체만 저장이 가능하다.
2. Array는 같은 type의 데이터만 담을 수 있고 ArrayList는 다른 타입의 데이터를 담을 수 있다. 그렇지만 일반적으로 안정성을 위해 ArrayList도 제네릭스를 사용하여 같은 타입의 데이터만 담을 수 있게 만든다.
3. Array는 정적인 크기를 가지고 ArrayList는 동적인 크기를 가진다.
4. 내용을 읽을 때 Array는 [] 안에 인덱스를 넣어 접근하고 ArrayList는 get() 메서드 안에 인덱스를 넣어서 사용한다.
5. 길이를 구할 때 Array는 length이고 ArrayList는 size() 메서드이다.
6. 축소와 확장을 할 때 Array는 고정된 크기를 가지고 있어 불가능하지만 ArrayList는 add(), remove() 메서드 등으로 확장할 수 있다.
7. 요소를 변경할 때 Array는 인덱스를 사용하여 변경하고 ArrayList는 set() 메서드를 사용하여 변경한다.
8. 요소를 삭제할 때 Array는 고정된 크기이므로 삭제할 수 없고 ArrayList는 remove() 메서드를 사용하여 삭제한다.
9. 변수의 값을 출력할 때 Array는 주소를 출력하지만 ArrayList는 배열의 값을 출력한다.(char [] 일 때는 예외적으로 저장된 문자가 출력된다.)