10/6 16-2 collection 들어가기
collection
collection (컬렉션) 도 하나의 클래스!!
collection인터페이스로부터 구현된 클래스로 객체를 수집하여 저장하는 클래스로 데이터를 효율적으로 사용할 수 있다!!
-당연히 객체만 저장 할 수 있대
-메모리 기반의 작은 데이터 베이스 역할을 함(입력,삭제,검색 등)
*** Collection 인터페이스의 주요 메소드****
size() : 컬렉션에 저장된 객체의 개수 반환
isEmpty() : 객체가 비었으면 true 아니면 false반환
add(Objext obj) : 객체 추가 , 성공시 true, 모든 타입의 객체를 저장할 수 있다!
remove(Objext obj) : 객체 삭제, 성공시 true
removeall(Objext obj) : 저장된 객체 전체 삭제
contains(Objext obj) : 해당 객체 있으면 true
iterator(Objext obj) : 반복하면서 꺼낼 때 Interator인터페이스 반환(반복기)
get() :객체를 꺼내올 때
컬렉션 클래스들은 Generic Type에 속한다고하는데 그게 뭔진 잘 모르겠지만
인스턴스화 할 때 타입 파라미터(<T>또는 <E>)를 지정한다
ex) HashSet<E> 요런 형태!!
<E>를 지정하지 않은 타입을 Raw Type이라 한다. 타입파라미터를 지정하지 않을 경우 어떤타입이든 저장 가능!
컬렉션 계층구조
** Map은 컬렉션 상속을 받지 않았음!
-set 계열은 데이터 저장시 중복허용이 안되고 순서없이 입력 -----복주머니에 데이터 저장한다고 보면 됨 순서 뒤죽박죽
-List 계열은 데이터 중복 허용됨, 순서있게 저장된다(배열로저장) ---- 배열에 저장되니 순서는 있고 순서있으니 중복저장해도 상관없음 인덱스로 구분이 되니까!
-Map 계열은 키와 값이 쌍으로 저장이 되어 검색속도가 빠르다 , 키는 중복불가
ex) name : 홍길동
이면 name은 키, 홍길동은 값 이렇게 되면 키로 검색이 가능해서 빨리 찾을 수 있음 위에 두개는 일일이 다 뒤짐
이제부터 저 3개 계열을 하나씩 정리해 볼거임