[Java] HashSet 을 파헤쳐보자.

HashSet은 Set 인터페이스를 구현하는 클래스로 내부적으로 HashMap 인스턴스의 지원을 받는다. GrepCode에 가서 HashSet을 찾아보자.  위와 같이 HashSet은 내부적으로 HashMap을 가지고 있다. 그렇기 때문에 대부분의 함수가 HashMap의 함수를 Wrapping 해놨다고 볼수 있다.  Iterator에 대해서 Iterator의 성능과 관련해서는 HashSet 인스턴스의 사이즈(number of elements) + 내부에 있는 HashMap 인스턴스의 capacity 의 합에 비례해서 시간이 필요하다고 한다. 때문에 만약… Read More

[Java] Set 인터페이스, 간략 정리.

Set 인터페이스에 대해서 알아보자. Collection 의 일부인데 중복되는 element를 포함하지 않는것이 가장 큰 특징이며, Java Doc 에서는 “수학적으로 말해서 집합을 의미한다” 라고 설명하고 있다. Set 인터페이스는 Collection 를 상속 받아서 만들어진 인터페이스이다. 때문에 대부분의 함수들이 Collection 에서 제공하는 함수들과 동일하다. List 와 Map 그리고 Set의 차이점 List 와 Set은 Collection Interface를 구현한다는 점에서 비슷하다고 할수… Read More