001package horstmann.ch07_generic;
002import java.util.ArrayList;
003
004public class Utils
005{
006        public static <E> void fill(ArrayList<E> a, E value, int count)
007        {
008                for (int i = 0; i < count; i++)
009                        a.add(value);
010        }
011
012        public static <E, F extends E> void append(ArrayList<E> a,
013                        ArrayList<F> b, int count)
014        {
015                for (int i = 0; i < count && i < b.size(); i++)
016                        a.add(b.get(i));
017        }
018
019        public static <E extends Comparable<? super E>>
020        E getMax(ArrayList<E> a)
021        {
022                E max = a.get(0);
023                for (int i = 1; i < a.size(); i++)
024                        if (a.get(i).compareTo(max) > 0) max = a.get(i);
025                return max;
026        }
027
028        public static <E> void fillWithDefaults(ArrayList<E> a,
029                        Class<? extends E> cl, int count)
030                                        throws InstantiationException, IllegalAccessException
031        {
032                for (int i = 0; i < count; i++)
033                        a.add(cl.newInstance());
034        }
035}