티스토리 뷰

Back-end/Java

컬렉션 프레임 워크(SET)

douStory 2021. 8. 9. 13:52
728x90

데이터 관리를 위해 자바에서 필요한 자료구조를 미리 구현해 놓은 것(LIST, SET, MAP)

  • LIST : INDEX 가 존재, 중복이 가능하다
  • SET : 집합이다, 순서는 없다, 하지만 중복 불가능
  • MAP : 집합이고 순서도 없지만 KEY 와 VELUE가 1:1 매칭, KEY값은 중복이 불가능, VELUE 값은 중복이 가능

 

SET

 

순서와 상관 없이 중복을 허용하지 않는경우 SET인터페이스를 구현한 클래스이다.

중복을 허용하지 않는 데이터로 아이디, 주문번호 등이 있다.

 

(중복은 자동으로 삭제되어 출력된다)
Iterator 순회 : 잡히는대로 끄집어 낸다

Set은 순서가 없기때문에 모든 내용을 비교할때.. list에서 for문을 사용하여 index를 순서대로 확인 한 것 처럼
Set은 Iterator를 사용한다. while 문과 'hasNext()  (set안에 데이터가 있니?' -> '있으면? 계속 꺼내') 를 사용한다.

hasNext()로 검증, Next()로 가져온다.

Set 주머니에 인스턴스를 넣을 경우(주소를 retrun하기 때문에)
인스턴스 주소가 다른면 값이 같더라도 Set은 중복 구분을 하지 못한다.(그럼 어떻게 해..?)

hashCode(), equals() 를 Override로 재정의 해준다. 

메모리 주소가 아니라 memberId가 return되도록 재정의 해준다.

인터페이스 컬렉션 메소드의 종류는 다음과 같다.

'Back-end > Java' 카테고리의 다른 글

내부 클래스  (0) 2021.08.10
컬렉션 프레임 워크(Map)  (0) 2021.08.09
JAVA 예외처리 개념  (0) 2021.08.05
다형성  (0) 2021.08.05
인터페이스  (0) 2021.08.05
댓글