Source of RandomIntegers.java


  1: //RandomIntegers.java

  3: import java.util.Arrays;
  4: import java.util.Random;

  6: public class RandomIntegers
  7: {
  8:     public static void main(String args[])
  9:     {
 10:         //Print ten random two-digit integers in reverse sorted order

 12:         Random random = new Random();
 13:         //random.setSeed(1); //Activate to get same values on each run

 15:         System.out.println("\n=============");
 16:         System.out.println("Using Java 7: ");
 17:         Integer[] ranArray = new Integer[10];
 18:         for (int i = 0; i < 10; i++)
 19:         {
 20:             ranArray[i] = 10 + random.nextInt(90); //Values are boxed
 21:         }
 22:         Arrays.sort(ranArray, (a, b) -> b.compareTo(a)); //Or (a, b) -> b - a
 23:         for (int i = 0; i < 10; i++)
 24:         {
 25:             System.out.println(ranArray[i]);
 26:         }

 28:         System.out.println("\n=============");
 29:         System.out.println("Using Java 8: ");
 30:         random.ints(10, 100)
 31:         .limit(10)
 32:         .boxed()
 33:         //Without this we have to use sorted() from IntStream
 34:         //which does not have a version that takes a parameter.
 35:         //With this we are using sorted() from Stream.
 36:         .sorted((a, b) -> b - a)
 37:         .forEach(System.out::println);
 38:     }
 39: }
 40: /*  Output:
 41:     Using Java 7:
 42:     89
 43:     77
 44:     70
 45:     70
 46:     69
 47:     62
 48:     61
 49:     37
 50:     15
 51:     13

 53:     =============
 54:     Using Java 8:
 55:     81
 56:     71
 57:     65
 58:     63
 59:     55
 60:     40
 61:     40
 62:     37
 63:     29
 64:     24
 65: */