Array vs List
List<자료형> 배열이름 = new ArrayList<자료형>();
List<Integer> list = new ArrayList<Integer>();
- Array
- 크기를 정해줘야 함
- ex) char[] c = new char[3]
- 삽입, 삭제가 느림
- 데이터 조회는 빠름
- 식별자 존재
- ex) str[1]
- length 사용
- List
- 크기를 정하지 않아도 됨
- 삽입, 삭제가 빠름
- 데이터 조회가 느림
- 식별자 존재X
- size 사용
ArrayList
ArrayList<자료형> 배열이름 = new ArrayList<자료형>();
ArrayList<Integer> list = new ArrayList<Integer>();
- 크기를 동적으로 사용 가능
= 안정해줘도 됨
- 식별자를 쓸 수 있음
- size 사용
List는 인터페이스이다.
- 인터페이스: 클래스 내에 선언된 메서드가 다 추상클래스인 것
- 인터페이스를 상속받는 클래스는 인터페이스에서 정의된 추상 메서드를 모두 구현해야 함
- 추상 클래스
- abstract가 붙은 것
- 클래스 내에 추상 메서드가 하나 이상
ArrayList는 클래스이다.
- 클래스를 ArrayList 사용하지 않는 것을 추천
- 제네릭 List 클래스를 사용하는 것이 좋다!
참고
마이크로소프트의 ArrayList 클래스