개발자꿈나무

컬렉션 프레임워크 - HashSet 본문

자바

컬렉션 프레임워크 - HashSet

망재이 2023. 1. 26. 23:48
  • Set인터페이스를 구현한 대표적인 컬렉션으로 중복된 요소를 저장하지 않음
  • 기본 예제를 통해서 HashSet을 생성하는 방법을 확인해보자
public class HashSet2
{

	public static void main(String[] args)
	{
		Object[] objArr = {"1","2","2","3","4"};
		Set set = new HashSet(); //HashSet 객체 생성
		
		for(int i=0;i<objArr.length;i++) {
			set.add(objArr[i]); //HashSet에 objArr의 요소들을 저장
		}
		System.out.println(set); //1,2,3,4 중복은 출력되지 않음 
	}

}

//HashSet을 이용하여 로또번호 만들기 
public class HashSet2
{

	public static void main(String[] args)
	{
		//1.HashSet 객체 생성 
		Set set = new HashSet();
		
		//2.HashSet에 임의의 수 1~45까지 넣어줌
		for(int i=0;i<6;i++) {
			int num =(int)(Math.random()*45)+1;
			set.add(num);
		}
		
		//3. 크기 순으로 정렬하기 위해서 sort() 사용 - sort()는 List인터페이스 타입이라 LinkedList클래스의 생성자 이용 
		List list = new LinkedList(set);
		Collections.sort(list);
		System.out.println(list);
		
		
	}

}

//1~50사이의 숫자 중에서 5x5 빙고판 만들기 
public class HashSet2
{

	public static void main(String[] args)
	{
		//1. HashSet 객체 생성
		Set set = new HashSet();
		
		
		//2. 배열 생성
		int[][] board = new int[5][5];
		
		//3.임의의 수를 HashSet 객체에 추가 
		for(int i=0;i<25;i++) {
			set.add((int)(Math.random()*50)+1+"");
		}
		
		//4. 값출력
		Iterator it = set.iterator();
		

		for(int i=0;i<board.length;i++) {
			for(int j=0;j<board[i].length;j++) {
				board[i][j]=Integer.parseInt((String) it.next());
				System.out.print((board[i][j]<10?"  ":" ")+board[i][j]);
			}
			System.out.println();
		}
	}

}
728x90