Collections Data Structure Java

/*
 This program is a part of the companion code for Core Java 8th ed.
 (http://horstmann.com/corejava)
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see .
 */
import java.util.ArrayList;
import java.util.Date;
import java.util.GregorianCalendar;
/**
 * This program demonstrates the ArrayList class.
 * 
 * @version 1.1 2004-02-21
 * @author Cay Horstmann
 */
public class ArrayListTest {
  public static void main(String[] args) {
    // fill the staff array list with three Employee objects
    ArrayList staff = new ArrayList();
    staff.add(new Employee("Carl Cracker", 75000, 1987, 12, 15));
    staff.add(new Employee("Harry Hacker", 50000, 1989, 10, 1));
    staff.add(new Employee("Tony Tester", 40000, 1990, 3, 15));
    // raise everyone's salary by 5%
    for (Employee e : staff)
      e.raiseSalary(5);
    // print out information about all Employee objects
    for (Employee e : staff)
      System.out.println("name=" + e.getName() + ",salary=" + e.getSalary() + ",hireDay="
          + e.getHireDay());
  }
}
class Employee {
  public Employee(String n, double s, int year, int month, int day) {
    name = n;
    salary = s;
    GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day);
    hireDay = calendar.getTime();
  }
  public String getName() {
    return name;
  }
  public double getSalary() {
    return salary;
  }
  public Date getHireDay() {
    return hireDay;
  }
  public void raiseSalary(double byPercent) {
    double raise = salary * byPercent / 100;
    salary += raise;
  }
  private String name;
  private double salary;
  private Date hireDay;
}