티스토리 뷰

카테고리 없음

HashSet

HanGyuJung 2021. 2. 5. 23:49

한번 계산된 데이터는 배열에서 제외시키는게 편한 상황에서 나는 단순히 배열을 사용해서

 

사용한 값들은 -1 로 치환하며 알고리즘 문제를 풀었다. 문제를 어찌저찌 풀고나서 다른사람들의

 

문제풀이를 보니 HashSet 자료구조를 사용한 사람들이 많아서 코드를 봤는데 정말 편한것 같아서

 

검색을 통해 공부를 해서 앞으로 활용하고자 한다.

 

HashSet은 중복을 자동으로 제거해주며 인덱스가 지정되지 않는 비선형 구조 클래스 이다.

HashSet구조

속도는 비선형구조이기 때문에 리스트구조에 비해 느리지만 값을 추가하거나 삭제할때 Set내부에 같은 값이 존재하지 않게 관리해준다.

 

-HashSet 선언

import java.util.HashSet ; 을 통해 라이브러리를 임포트 뒤,

HashSet<Integer> hs = new HashSet<Integer>();    // new 부분에 타입파라미터는 생략가능, 또한 인자로 초기용량 지정해주면 좋음

 

-HashSet 값 추가

add(value) 메소드를 사용한다. 입력되는 value값이 HashSet내부에 존재 하지 않는다면 그값을 HashSet에 추가한다.

hs.add(1);

 

-HashSet 값 삭제

remove(value) 메소드를 사용한다. value값이 HashSet내부에 존재한다며 삭제한다.

hs.remove(1)

 

-Hashset 값 검색

contains(value) 메소드를 활용한다. value가 HashSet내부에 존재한다면 true를 반환한다.

hs.contains(1);

 

-HashSet 크기 반환

hs.size();