package com.java1.day20;
import java.util.HashSet;
/* HashSet?
* Set 인터페이스를 구현한 가장 대표적인 컬렉션 이다.
* Set의 특징대로 중복된 요소를 저장하지 않는다.
* List를 구현한 컬렉션 클래스들과 달리 순서를 유지하지 않는다.
*/
public class HashSetEx6 {
public static void main(String[] args) {
//데이터 입력순서와 저장 순서가 달라서 get(), set() 메서드를 지원하지 않는다.
HashSet hset = new HashSet();
hset.add(new Integer(100));
hset.add("100");
hset.add(200);
hset.add(300);
System.out.println(hset);
hset.add(300);
hset.add(400);
hset.add(500);
System.out.println(hset);
}
}
/* 결과값을 보면 중복된 값은 저장되지 않았다.
* add매서드는 이미 같은 객체가 있으면 중복으로 간주하고 저장하지 않는다. 그리고 작업실패의 의미로 false를 리턴한다.
* 그런데 '100' 이 두번 출력 되었다. 왜 그럴까?
* 둘다 100로 보여지기 때문에 구별이 안되지만, 하나는 String인스턴스 이고 다른하나는 Integer인스턴스로
* 서로다른 객체 이므로 중복으로 간주하지 않는다.
*/
[100, 100, 200, 300]
[400, 100, 100, 500, 200, 300]