Java 기준 공통점
- 둘 다 List 클래스를 부모로 두고 있으며 내부적으로 돌아가는 기능은 같다 (따라서 List로 선언하고 상황에 따라 업캐스팅 또한 가능하다.)
- 둘 다 구체화한 템플릿의 클래스 타입의 데이터를 레퍼런스(주소값) 형태로 차례대로 보관한다.
Java 기준 차이점
- Vector의 경우는 멀티 스레드 환경에서의 충돌을 방지하는 기능(스레드 간의 동기화)을 내부적으로 가지고 있다. (멀티 스레드 환경에서 적합)
- ArrayList는 Vector와 달리 충돌 방지 기능(스레드 간의 동기화)을 가지고 있지는 않지만 그 만큼 Vector에 비해 하는 작업이 적어 자원을 상대적으로 덜 소모시킨다. (싱글 스레드 환경에 적합)
연계되는 예상 질문
- 싱글 스레드 환경에서 Vector와 ArrayList 중에서 어떤 클래스가 더 효율적인가?
'CS > Interview' 카테고리의 다른 글
Struct 와 Class의 차이점은 무엇인가? (0) | 2022.12.29 |
---|