jujuwon
시크릿주주
jujuwon
전체 방문자
오늘
어제
  • 분류 전체보기 (106)
    • 🔠 프로그래밍언어 (35)
      • ☕️ Java (19)
      • 🐠 Python (15)
      • 🍠 Kotlin (1)
    • 🔙 Backend (16)
      • 🌿 Springboot (12)
      • 🐳 Docker (1)
      • ☁️ AWS (3)
    • 💼 CS (12)
      • 📶 Network (12)
    • 🕹 알고리즘 (14)
      • 📑 스터디 (2)
      • 💁🏻‍♂️ 백준 (9)
      • 👨🏼‍🔬 프로그래머스 (3)
    • 📚 Book (8)
      • 🔎 오브젝트 (4)
      • 🧪 TDD (2)
      • 📜 논문 (2)
    • 🔐 보안 (7)
      • 👾 Pwnable (7)
    • 📝 회고 (4)
    • 🧩 etc. (10)
      • ⚠️ issue (2)
      • 💡 꿀팁 (7)
      • ✏️ 끄적 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

hELLO · Designed By 정상우.
jujuwon

시크릿주주

Java :: Stream으로 Random 수 생성
🔠 프로그래밍언어/☕️ Java

Java :: Stream으로 Random 수 생성

2022. 7. 31. 09:12
반응형

 

난수를 생성하는데 사용하는 Random 클래스 에는 아래 인스턴스 메소드들이 포함되어 있다.

이 메소드들은 해당 타입의 난수들로 이루어진 스트림을 반환한다.

 

IntStream ints()
LongStream longs()
DoubleStream doubles()

 

이 메소드들이 반환하는 스트림은 크기가 정해지지 않은 무한 스트림 이므로

limit() 도 같이 사용해서 스트림의 크기를 제한해주어야 한다.

limit() 은 스트림의 개수를 지정하는데 사용되고 무한 스트림을 유한 스트림으로 만들어준다.

 

IntStream intStream = new Random().ints(); //무한 스트림
intStream.limit(5).forEach(System.out::println); //5개의 요소만 출력

 

매개변수로 스트림의 크기를 지정해서 유한 스트림 을 생성할 수도 있다.

 

IntStream ints(long streamSize)
LongStream longs(long streamSize)
DoubleStream doubles(long streamSize)

//예시
IntStream intStream = new Random().ints(5); //크기가 5인 난수 스트림 반환

 

위 메소드들로 생성된 스트림의 난수의 범위는 아래와 같다.

 

Integer.MIN_VALUE <= ints() <= Integer.MAX_VALUE
Long.MIN_VALUE <= longs() <= Long.MAX_VALUE
0.0 <= doubles() <= 1.0

 

난수의 범위를 지정해서 스트림을 만들 수도 있다.

 

// end 는 범위에 포함 X
IntStream ints(int begin, int end)
LongStream longs(long begin, long end)
DoubleStream doubles(double begin, double end)

IntStream ints(long streamSize, int begin, int end)
LongStream longs(long streamSize, long begin, long end)
DoubleStream doubles(long streamSize, double begin, double end)
728x90
반응형
저작자표시 (새창열림)
    '🔠 프로그래밍언어/☕️ Java' 카테고리의 다른 글
    • Java :: 객체지향 패러다임
    • Java :: 객체지향의 5가지 설계원칙 SOLID
    • Java :: 람다와 스트림 (2/2)
    • Java :: 람다와 스트림 (1/2)
    jujuwon
    jujuwon

    티스토리툴바