여러 데이터들의 집합,
여러 데이터들을 그룹으로 묶어놓은것을 컬렉션
특정 자료구조에 데이터를 추가,수정,삭제,검색하는 등의
동작을 수행하는 편리한 메서드를 제공
데이터의 순서가 유지, 중복저장이 가능
ArrayList,Vector,Stack,LinkedList 구현
List인터페이스를 구현한 클래스, 가장많이사용됨
기능적으로는 Vector와 동일하지만 기존의 Vector를 개선
객체를 추가하면 객체가 인덱스로 관리
데이터를 효율적으로 추가,삭제,변경 하기 위해 사용됨
배열에는 모든 데이터가 연속적으로 존재하지만 LinkedList에서는 불연속적으로 존재
반복자 =>컬렉션에 저장된 요소들을 순차적으로 읽어오는 역할
객체를 읽어올때 next() 메소드 사용
위 메소드를 사용하기전 먼저 가져올 객체가 있는지 hasNext()를 통해 확인하는 것이 좋음
객체를 읽어온후 다음 객체가 있으면 true를 리턴, 객체가 없으면 false를 리턴
데이터의 순서가 유지되지 않으며 중복저장이 불가능
HashSet,TreeSet
중복된 값을 허용하지않으며 저장순서를 유지하지않음
이진 탐색 트리 형태로 데이터를 저장
데이터의 중복 저장을 허용하지않고 저장순서를 유지하지않음
이진탐색 트리란?
하나의 부모노드가 최대 두개의 자식노드와 연결되는 이진트리의 일종,
정렬과 검색에 특화된 자료구조
키와 값의 쌍으로 데이터를 저장
데이터의 순서가 유지되지않으며 키는 값을 식별하기 위해 사용하므로 중복저장불가
값은 중복저장이 가능
HashMap,HashTable,Properties
Map인터페이스를 구현한 대표클래스
key ,value 객체저장->Entry객체