Random class
- 여러형태의 난수를 생성할 때 필요하다.
public class RandomExample {
public static void main(String[] args) {
System.out.println("0.0 ~ 1.0 사이의 난수 1개 발생 : " + Math.random());
System.out.println("0 ~ 10 사이의 난수 1개 발생 : " + (int)((Math.random()*10000)%10));
System.out.println("0 ~ 100 사이의 난수 1개 발생 : " + (int)(Math.random()*100));
}
}
위 코드를 보면 기본적으로 Math.random() 함수는 0.0에서 1.0사이의 난수를 발생 시킨다.
setSeed(long n) | 매개값으로 주어진 종자값이 설정됩니다. |
boolean nextBoolean() | boolean타입의 난수를 리턴합니다. |
double nextDouble() | doouble 타입의 난수를 리턴합니다. |
int nextInt() | int 타입의 난수를 리턴합니다. |
int nextInt(int n) | int 타입의 0 ~ 매개값까지의 난수를 리턴합니다. |
double nextGaussian() | 평균이 0.0이고 표준편차가 1.0인 정규분포 난수를 리턴합니다. |
주요 메서드를 이용해서 다양한 형태의 난수를 나타낼수 있습니다.
Collections
- Stack, Deque, Queue, List, Tree 등의 대표적인 자료구조들을 만들어 생성할 수있게 하는 java의 대표적인
라이브러리 입니다.
- 이후 java 를 공부하면서 자료구조를 공부하게 될 때 전체적으로 클래스를 공부하고 유용한 컬렉션 메소드만
봅시다.
- Collections.copy(list1, list2)
- Collections.reverse(list)
- Collections.shuffle(list)
- Collections.sort(list)
sort함수는 나중에 Comparable<T> 인터페이스의 compareTo 메소드로 원하는 방법으로 객체를 정렬시켜 버리는 괴물이다.
- Collections.swap(list, listIndex1 , listIndex2);
Collections 클래스의 swap함수를 이용해서 카드 두개를 섞어 보겠습니다.
public void shuffle() {
Random random = new Random();
int shuffleTimes = random.nextInt(46);
for (int i = 0; i < shuffleTimes; i++) {
int shuffleCard1 = random.nextInt(this.cards.size());
int shuffleCard2 = random.nextInt(this.cards.size());
Collections.swap(cards, shuffleCard1, shuffleCard2);
}
}
Collections 클래스의 shuffle함수를 이용해서 카드 두개를 섞어 보겠습니다.
public void shuffle() {
Collections.shuffle(cards);
}
... 넘 허무함;
'Programming language > Java' 카테고리의 다른 글
Java - 12 [캐스팅] (0) | 2020.10.19 |
---|---|
Java - 실무6 [블랙잭] (0) | 2020.10.19 |
Java - 10 [protected 접근제어자, Object 클래스] (0) | 2020.10.19 |
Java - 9 [상속, super] (1) | 2020.10.18 |
Java - 실무5 [MP3플레이어] (1) | 2020.10.18 |