JAVA - 컬렉션 프레임웍(Collections Framework) (6)

jodbsgh·2022년 4월 2일
0

💡"JAVA"

목록 보기
33/67

HashSet

HashSet은 Set인터페이스를 구현한 가장 대표적인 컬렉션이며, Set인터페이스의 특징대로 HashSet은 중복된 요소를 저장하지 않는다.

만일 HashSet에 이미 저장되어 있는 요소와 중복된 요소를 추가하고자 한다면 add메서드나 addAll메서드 사용시 false를 반환함으로써 추가ㅔ 실패했다는 것을 알린다.

ArrayList와 같이 List인터페이스를 구현한 컬렉션과 달리 HashSet은 저장순서를 유지하지 않으므로 저장순서를 유지하고자 한다면 LinkedHashSet을 사용해야 한다.

import java.util.*;

class HashSetEx1{
	public static void main(String[] args)
    {
    	Object[] objArr = {"1", new Integer(1), "2","2","3","3");
        
        Set set = new HashSet();
        
        for(int i=0; objArr.length; i++)
        {
        	set.add(objArr[i]);	//HashSet에 objArr의 요소들을 저장한다.
        }
        
        //HashSet에 저장된 요소들을 출력한다.
        System.out.println(set);
    }
}

실행결과

[1,1,2,3]	//1이 두 번 출력된 이유는 문자"1"과 숫자 1은 다르기 때문

Set을 구현한 컬렉션 클래스는 List를 구현한 컬렉션 클래스와 달리 순서를 유지하지 않기 때문에 저장한 순서와 다를 수 있다.

만일 중복을 제거하는 동시에 저장한 순서를 유지하고자 한다면 HashSet대신 LinkedHashSet을 사용해야 한다.

profile
어제 보다는 내일을, 내일 보다는 오늘을 🚀

0개의 댓글