본문으로 바로가기

Java- 컬렉션 프레임워크(HashSet)

category 프로그래밍 언어/Java 2019. 7. 21. 13:42

1. HashSet

2019/07/15 - [프로그래밍 언어/Java] - Java - 컬렉션 프레임워크

 

Java - 컬렉션 프레임워크

1. 컬렉션 프레임워크 컬렉션은 여러개의 데이터(그룹)을 말하는데 이에 대한 프로그래밍 방식을 표준화한 것을 말합니다. 2. 핵심 인터페이스 List, Set, Map이 존재합니다. 이를 List와 Set을 Collection 인터..

dlwjdcks5343.tistory.com

에서 설명한 것 과 같이 Set은 중복을 허용하지 않기 때문에 HashSet도 마찬가지로 중복을 허용하지않습니다.

 

중복된 데이터를 넣으려고 한다면 HashSet은 false를 반환할 것입니다.

 

또한 순서를 유지하지 않기 때문에 순서를 유지하려면 LinkedHashSet을 이용해야합니다.

 

public class HashSetEx1 {
    public static void main(String[] args) {
        Object[] objArr = {"1", new Integer(1), "2", "2", "3", "3", "4", "4", "4"};
        Set set = new HashSet();

        for (int i = 0; i < objArr.length; i++) {
            set.add(objArr[i]);
        }

        System.out.println(set);
    }
}
[1, 1, 2, 3, 4]

2 3 4는 중복을 허용하지 않기 때문에 2 3 4 가 들어갑니다. 

 

왜 1은 중복인가?

1은 String과 Integer이기 때문에 다르기 때문입니다.