본문 바로가기
study/Java

[Java] 32. Collection (Set) Exam3 (1 ~ 45사이의 중복되지 않는 숫자 6개를 정렬하여 출력하기)

by 금이패런츠 2022. 3. 30.
728x90
반응형
package chap13;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
import java.util.TreeSet;

/*
 * 1 ~ 45사이의 중복되지 않는 숫자 6개를 정렬하여 출력하기
 */
public class Exam3 {
	public static void main(String[] args) {
		Set<Integer> set = new HashSet<>();
		while(set.size() < 6) {
			int num = (int)(Math.random() * 45) +1;
			set.add(num);
		}
		System.out.println(set);
		List<Integer> list = new ArrayList<>(set);
		Collections.sort(list); //정렬
		System.out.println(list);
		
		System.out.println("======TreeSet 이용======");
		//TreeSet : 중복불가. 정렬됨
//		Set<Integer> set2 = new TreeSet<>(); //오름차순 정렬
		Set<Integer> set2 = new TreeSet<>((s1,s2)->s2.compareTo(s1)); //내림차순 정렬
		Random r = new Random();
		r.setSeed(System.currentTimeMillis());
		while(set2.size() < 6) {
			//r.nextInt(45) : 0 ~ 44 사이의 임의의 수 리턴
			set2.add(r.nextInt(45) + 1); // 1 ~ 45 사이의 임의의 수
		}
		System.out.println(set2);
	}
}
728x90
반응형