//Linear search implemented using parameterized types.
//This allows for same method to be called for different types of data.

public class LinearSearchComp {

    // post: returns index of value in a, or -1 if not found
    public static <E> int linearSearch(E a[], E value) {
        for (int i = 0; i < a.length; i++) {
            if (a[i].equals(value)) {
                return i;
            }
        }
        return -1;
    }
    
    public static void main(String args[]) {
        // search a String array
        System.out.println(linearSearch(args, "cow"));
        
        // search a Linear array
        Integer odds[] = new Integer[] { 1,3,5,7,9 };
        System.out.println(linearSearch(odds, 7));
    }
}

