day20_HashSetEx6

육희영·2021년 11월 1일
0
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]

0개의 댓글

관련 채용 정보