UNB/ CS/ David Bremner/ teaching/ cs1083/ java/ SearchList.java
import java.util.ArrayList;
import java.util.Scanner;
import java.util.Random;

public class SearchList<T extends Comparable<T>> extends ArrayList<T>  {

    public int positionOf(T target) {
        for (int i=0; i<this.size(); i++) {
            if (this.get(i).compareTo(target)==0) {
                return i;
            }
        }
        return -1;
    }

    public static void main(String[] args)    {
        SearchList<String> staff = new SearchList<String>();
        staff.add("Tom");
        staff.add("Dick");
        staff.add("Juliet");
        staff.add("Romeo");
        staff.add("Harry");

        String[] queries = {"Harry", "Tom", "Moe", "Curly"};

        for (String name : queries) {
            int pos = staff.positionOf(name);
            if (pos <0 )
                System.out.println(name + " not found");
            else
                System.out.println(name+" found @ "+pos);
        }

        Random random = new Random();
        SearchList<IntPair> pairs = new SearchList<IntPair>();
        for (int i=0; i<9; i++) {
            pairs.add(new IntPair(random.nextInt(3), random.nextInt(3)));
        }

        for (int i=0; i<pairs.size(); i++) {
            IntPair intQuery = new IntPair(random.nextInt(3), random.nextInt(3));
            int pos = pairs.positionOf(intQuery);
            if (pos < 0)
                System.out.println(intQuery + " not found");
            else
                System.out.println(intQuery+" found @ "+pos);
        }
    }

}