Monday, September 9, 2013

Generics Example

// Explore your understandings about generics with following program

class MyList<T extends Comparable>  {
    Object[] list;
    int index=0;
    public MyList()
    {
        list = new Object[10];
    }
    public int find(T ob)
    {
        for(int i=0;i<index;i++)
        {
            if(ob.equals(list[i]))
                return i;
        }
        return -1;
    }
    public int findFirstGreater(T ob)
    {
        for(int i=0;i<index;i++)
        {
            if(ob.compareTo(list[i])<0)
                return i;
        }
        return -1;
    }
    public int findFirstSmaller(T ob)
    {
        for(int i=0;i<index;i++)
        {
            if(ob.compareTo(list[i])>0)
                return i;
        }
        return -1;
    }
    public void add(T ob)
    {
        list[index++]=ob;
    }
    public T get(int index)
    {
        if(index<index && index>=0)
            return (T)list[index];
        else
            return null;
    }
}
public class GenericDemo{
    public static void main(String[]args)
    {
        MyList<String> stringcol = new MyList<String>();
        MyList<Integer> intcol = new MyList<Integer>();
        MyList<Double>[] doublecol = (MyList<Double>[])new MyList[10];
        stringcol.add("abc");
        stringcol.add("pqr");
        stringcol.add("ABC");
        intcol.add(12);
        intcol.add(10);
        intcol.add(21);
        System.out.println(intcol.findFirstGreater(11));
        System.out.println(stringcol.findFirstSmaller("a"));
    }
}

No comments:

Post a Comment