
배열은 분명 편리한데, 한 가지 불편한 점이 있다. 크기를 처음에 정해야 한다는 것이다. 10칸짜리 배열을 만들었는데 11번째 데이터가 들어오면? 방법이 없다. 이 문제를 해결하기 위해 ArrayList가 등장했다.ArrayList는 크기가 자동으로 늘어나는 배열이다.

ArrayList와 거의 똑같이 생긴 클래스가 하나 더 있다. Vector다. 사용법도 비슷하고, 크기가 자동으로 늘어나는 것도 같다. 그런데 왜 굳이 둘로 나뉘어 있을까?Vector는 ArrayList보다 먼저 나온 클래스다. Java 1.0 시절부터 있었고, Arr

ArrayList도 있고 Vector도 있고, 비슷하게 동작하는 클래스가 여럿이다. 그런데 코드를 보다 보면 변수 타입으로 ArrayList 대신 List를 쓴 경우를 자주 마주친다. List는 뭘까?List는 클래스가 아니라 인터페이스다. "순서가 있고, 중복을 허용

리스트는 같은 값을 여러 번 담을 수 있다. 그런데 때로는 "중복 없이" 데이터를 모아야 할 때가 있다. 예를 들어 설문 응답자 목록, 태그 목록처럼 같은 항목이 두 번 들어가면 안 되는 경우다. 이럴 때 쓰는 게 Set이다.Set은 List와 달리 두 가지 특징이 있

지금까지 본 List와 Set은 값 하나씩을 담는다. 그런데 "이름 → 전화번호", "학번 → 이름"처럼 쌍으로 묶인 데이터를 다뤄야 할 때가 있다. 이를 위한 컬렉션이 Map이다.Map은 키(Key)와 값(Value)의 쌍으로 데이터를 저장하는 컬렉션이다. 사전처럼,