Zoo
//
// Zoo.java
//
import java.util.*;
public class Zoo
{
// print stuff
public static void printAnimals(ArrayList<Animal> animals)
{
for (Animal a : animals)
{
System.out.println(a.getName() + " is a " +
a.getColor() + " " + a.getType());
}
System.out.println();
}
// calculation
public static double averageAge(ArrayList<Animal> animals)
{
double sum = 0;
for (Animal a : animals)
sum += a.getAge();
return sum / animals.size();
}
// filter
public static ArrayList<Animal> getDogs(ArrayList<Animal> animals)
{
ArrayList<Animal> dogs = new ArrayList<Animal>();
for (Animal a : animals)
{
if (a.getType().equals("dog"))
dogs.add(a);
}
return dogs;
}
// transform
public static ArrayList<String> getNames(ArrayList<Animal> animals)
{
ArrayList<String> result = new ArrayList<String>();
for (Animal a : animals)
result.add(a.getName());
return result;
}
public static void main(String[] args)
{
System.out.println("Hello, zoo!\n");
ArrayList<Animal> animals = new ArrayList<Animal>();
animals.add(new Animal("Gadget", "cat", 5, "black and white"));
animals.add(new Animal("Tux", "cat", 5, "black and white"));
animals.add(new Animal("Tum tum", "turtle", 9, "green and red"));
animals.add(new Animal("Marlow", "dog", 9, "brown"));
System.out.println("animals:");
printAnimals(animals);
System.out.println("average age: " + averageAge(animals));
System.out.println();
ArrayList<Animal> dogs = getDogs(animals);
System.out.println("dogs:");
printAnimals(dogs);
ArrayList<String> names = getNames(animals);
System.out.println("names:");
for (String name : names)
System.out.println(name);
}
}
Output:
Hello, zoo!
animals:
Gadget is a black and white cat
Tux is a black and white cat
Tum tum is a green and red turtle
Marlow is a brown dog
average age: 7.0
dogs:
Marlow is a brown dog
names:
Gadget
Tux
Tum tum
Marlow