학원/JAVA

10/6 16-2 collection 들어가기

도원결의 2022. 10. 6. 17:04

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개 계열을 하나씩 정리해 볼거임