Collections Data Structure Java

/*
 * Copyright (c) 2000 David Flanagan.  All rights reserved.
 * This code is from the book Java Examples in a Nutshell, 2nd Edition.
 * It is provided AS-IS, WITHOUT ANY WARRANTY either expressed or implied.
 * You may study, use, and modify it for any non-commercial purpose.
 * You may distribute it non-commercially as long as you retain this notice.
 * For a commercial use license, or to purchase the book (recommended),
 * visit http://www.davidflanagan.com/javaexamples2.
 */
/**
 * This class demonstrates how to sort numbers using a simple algorithm
 */
public class SortNumbers {
  /**
   * This is a very simple sorting algorithm that is not very efficient when
   * sorting large numbers of things
   */
  public static void sort(double[] nums) {
    // Loop through each element of the array, sorting as we go.
    // Each time through, find the smallest remaining element, and move it
    // to the first unsorted position in the array.
    for (int i = 0; i < nums.length; i++) {
      int min = i; // holds the index of the smallest element
      // find the smallest one between i and the end of the array
      for (int j = i; j < nums.length; j++) {
        if (nums[j] < nums[min])
          min = j;
      }
      // Now swap the smallest one with element i.
      // This leaves all elements between 0 and i sorted.
      double tmp;
      tmp = nums[i];
      nums[i] = nums[min];
      nums[min] = tmp;
    }
  }
  /** This is a simple test program for the algorithm above */
  public static void main(String[] args) {
    double[] nums = new double[10]; // Create an array to hold numbers
    for (int i = 0; i < nums.length; i++)
      // Generate random numbers
      nums[i] = Math.random() * 100;
    sort(nums); // Sort them
    for (int i = 0; i < nums.length; i++)
      // Print them out
      System.out.println(nums[i]);
  }
}