4.Random:숫자
1)Random클래스 : seed를 만든 후 seed에서 숫자를 하나씩 추출하는 클래스
==>생성자
Random():seed를 현재 시간에 생성-어느 정도 랜덤 보장
Random(long seed): seed를 고정-랜덤이 아니고 일정한 패턴의 숫자를 가져옵니다.
=>데이터를 추출하는 메서드
next자료형()
nextInt(int n):0부터 n보다 작은 수 까지 범위에서 추출
2)UUID
==>랜덤한 문자열을 만들어주는 클래스
==>UUID.randomUUID().toString()을 이용해서 랜덤한 문자열을 만들어 줍니다.
==>고유한 식별자를 생성할 때 주로 이용합니다.
UUID는 문자열이기에 중복될 가능성이 거의 없음.
3)실습
==>seed를 사용하는 경우와 그렇지 않은 경우를 구분하고 배열 안에서 랜덤한 요소를 추출해보고, UUID를 생성
package java_1025;
import java.util.Random;
import java.util.UUID;
public class RandomEx {
public static void main(String[] args) {
//seed를 사용하지 않는 경우와 사용하는 경우의 차이
//여러번 실행해보고 확인
//java에서는 seed를 설정하지 않으면 seed가 랜덤
Random r= new Random();
System.out.println(r.nextInt());//실행할 때마다 바뀜
//seed를 설정하면 고정된 패턴의 숫자가 리턴
r= new Random(42);
System.out.println(r.nextInt());//계속 실행해도 그대로
//배열 내에 존재하는 요소만 랜덤하게 추출
r = new Random();
String[] ar = {"오미크론","오미크론","오미크론","다크스펙터","다크스펙터","라투"};
for(int i=0;i<10;i++) {
System.out.println(ar[r.nextInt(ar.length)]);
}
//랜덤한 문자열 추출
System.out.println(UUID.randomUUID().toString());
}
}
-1244674161
-1170105035
다크스펙터
라투
오미크론
다크스펙터
오미크론
오미크론
오미크론
오미크론
라투
오미크론
fe9d87e3-9b32-4cdf-b884-4ec7162534f2
seed를 설정하지 않으면 실행할 때마다 랜덤값이 나오는 반면, seed를 설정해놓으면 (같은 출력문으로만 실행할 때)여러번 실행해도 동일한 값이 나온다.
'JAVA' 카테고리의 다른 글
221025 List (0) | 2022.10.25 |
---|---|
221025 Generic (0) | 2022.10.25 |
221025 날짜 (0) | 2022.10.25 |
221025 Fibonacci수열과 재귀/재귀사용 x (0) | 2022.10.25 |
221025 binarySearch (0) | 2022.10.25 |